2012-03-04 4 views
2

Недавно я обновил приложение для работы практически со всеми телефонами. Я сделал это, установив первый экран на размер экрана, а затем изменил все изображения (есть много изображений). Таким образом, запуск на не-базовых моделях телефонов составляет 15 секунд, похоже, что телефон замерзает, но его просто меняют изображения. Он делает это каждый раз, когда я открываю приложение. Что я могу сделать, чтобы исправить это?Приложение Blackberry очень медленно при запуске, как я могу это исправить?

+0

Вы должны размещать код с изображением изменения алгоритма для обнаружения проблемы –

ответ

4
  • Убедитесь, что вы изменяете размер изображения в отдельной ветке (без операции блокировки пользовательского интерфейса).
  • Было бы лучше, если бы вы сохранили все измененные изображения на постоянном хранилище, чтобы вам не нужно было изменять размер одного изображения дважды на телефоне .


[редактировать]

Некоторые ссылки о том, как использовать хранилище сохраняемости:


Пример фрагмента кода для создания объекта Bitmap persistable:

class PersistableBitmap implements Persistable { 
    int width; 
    int height; 
    int[] argbData; 

    public PersistableBitmap(Bitmap image) { 
     width = image.getWidth(); 
     height = image.getHeight(); 
     argbData = new int[width * height]; 
     image.getARGB(argbData, 0, width, 0, 0, width, height); 
    } 

    public Bitmap getBitmapImage() { 
     Bitmap image = new Bitmap(width, height); 
     image.setARGB(argbData, 0, width, 0, 0, width, height); 
     return image; 
    } 
} 
+0

Я думал об использовании стойких место хранения. Но я не знаю, как это сделать. Я хорошо знаком с pers, но как сохранить файл с измененным изображением? –

+0

Вы можете попробовать ссылки, размещенные в разделе ответа, а также вы можете проверить класс 'PersistableBitmap', который может использоваться как постоянный объект Bitmap. – Rupak