Android,内存过度使用问题

时间:2014-02-27 07:19:51

标签: android memory-management android-activity back-stack background-service

我是Android开发的初学者。我的应用程序中有几个屏幕,我可以使用“backstack”功能在这些屏幕之间来回导航。当我深入浏览应用程序时,应用程序的内存使用量正在增加。有时它达到100 MB .. !!它会导致应用重启。

据我了解,下面可能是内存过度使用的可能原因:

1)App大量使用图像。

2)实施堆栈。 (只使用过一次活动,其他是碎片)

3)有一个后台服务连续运行该应用程序。

我不确定这些是否是实际原因。请帮我找出原因。有关内存过度使用问题的任何提示?还有一个问题,Android应用程序的理想内存使用情况应该是什么?

1 个答案:

答案 0 :(得分:0)

在你的应用程序中调用这两个方法它将从android数据中删除所有图像缓存,你的应用程序不会从内存问题中崩溃

//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
            }
        }