2

Я начинаю разрабатывать Android. В моем приложении есть несколько экранов, и я могу перемещаться между ними, используя функцию «backstack». По мере того как я просматриваю приложение в глубину, использование памяти приложения увеличивается. Иногда это достигает 100 МБ .. !! Это приводит к перезагрузке приложения.Android, проблема с избыточной памятью

Как я понимаю, ниже, может быть, возможные причины чрезмерного использования памяти:

1) App делает интенсивное использование изображений.

2) Резервное копирование реализовано. (Существует только один раз, когда используется действие, а другие - фрагменты)

3) Для этого приложения постоянно работает фоновый сервис.

Я не уверен, являются ли эти фактические причины. Пожалуйста, помогите мне выяснить причины. Любые советы по проблеме избыточной памяти? Еще один вопрос: Каким должно быть идеальное использование памяти приложения для Android?

+0

взглянуть на: http://stackoverflow.com/questions/21795645/exception-outofmemoryerror/21950787 # 21950787 и http://stackoverflow.com/questions/22043232/out-of-memory-exception-with-custom-gridview/22043466#22043466 и ссылки в нем – user2450263

ответ

0

вызова эти два метода в вашем приложении будет удалены все кэш изображений от андроида данных и Урой приложения не разбились от выпуска памяти

//this is for clear cache folder in android -> data folder which generate by gallry lazy loading 
     public static void trimCache(Context context) { 
      try { 
    //   File dir = context.getCacheDir(); 
       File dir = context.getExternalCacheDir(); 
       if (dir != null && dir.isDirectory()) { 
        deleteDir(dir); 
        System.out.println("delete cache folderrrrrrrrrr"); 
       } 
      } catch (Exception e) { 
       // TODO: handle exception 
      } 
     } 
     public static void trimCacheinternal(Context context) { 
      try { 
       File dir = context.getCacheDir(); 
    //   File dir = context.getExternalCacheDir(); 
       if (dir != null && dir.isDirectory()) { 
        deleteDir(dir); 
        System.out.println("delete cache folderrrrrrrrrr"); 
       } 
      } catch (Exception e) { 
       // TODO: handle exception 
      } 
     }