2010-10-23 12 views
6

Ho un semplice gioco di carte in cui l'utente può trascinare e rilasciare le carte sullo schermo. Su alcuni dei telefoni Android 2.2 come Droid ed EVO, il disegno delle carte è molto lento. Questo è strano perché accade su alcuni dei telefoni più veloci. Tuttavia non sono tutti i telefoni che collaudo su Droid e Droid X e il programma funziona alla grande anche su un telefono più lento come il G1. Ho iniziato a ricevere segnalazioni su questo dopo che Motorolla ha rilasciato l'aggiornamento 2.2 per il Droid.Perché il disegno di bitmap è molto lento su alcuni telefoni Android 2.2?

Ecco la soluzione che ho trovato, ma abbassa davvero la qualità della mia grafica. Le sfumature sono orribili.

Ho cambiato questa

Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_8888); 

a questo

Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_4444); 

Il problema va via, ma gli sguardi soffrono. Devo mantenere il canale alfa, quindi non posso usare RGB_565. C'è un modo per mantenere le mie immagini di qualità e non farlo funzionare così lentamente?

+0

Non so sullo sviluppo di Android, ma è possibile che alcuni dispositivi utilizzino un formato bitmap nativo diverso? Cercherò di utilizzare il formato nativo del dispositivo e mi aspetto che sia il più veloce. – Lucero

+0

Sto usando i file PNG. La cosa strana è che funzionerà bene su un Droid con 2.1 ma lento su alcuni telefoni Droid con 2.2. Penso che questo potrebbe essere un bug ma ho ancora bisogno di un buon lavoro. – theJosh

+1

Quanto sono grandi queste carte? Inoltre, da dove prendi i Bitmap? Li stai usando come buffer fuori schermo? Quale risoluzione sono le bitmap? –

risposta

0

Forse questi sono alcuni grandi Bitmaps che si sta tentando di elaborare. Dai un'occhiata a questo allenamento Android Loading Large Bitmaps Efficiently.

Penso che questo potrebbe aiutare le vostre prestazioni e fare il caricamento di bitmap non bloccare il thread principale dell'interfaccia utente.

Problemi correlati