服务/流程的内存太多

时间:2012-09-14 11:09:58

标签: android android-service

我的应用有一个后台服务,定期从网上下载信息。 根据MAT(内存分析器)整体内存使用(保留)是KB的顺序,无论如何,如果我打开android的任务管理器,我看到13-15 MB。 我不知道它是怎么回事:主应用程序关闭,没有活动正在运行,只是服务!

也许是因为在主要活动中我使用LruCache缓存位图?但是,理论上,在退出这项活动之后,应该释放记忆......

编辑: 这是我的LruCache代码,不是一个大问题,只是一个单例,以便每个活动共享缓存内容:

public class PortableCache {
private static final int CACHE_MB = 1;

private static LruCache<String, Bitmap> cachedBitmaps= new LruCache<String,Bitmap>(CACHE_MB*1024*1024){
    protected int sizeOf(String k,Bitmap v){
        return v.getRowBytes()*v.getHeight();
    }
};

public static LruCache<String, Bitmap> getImageCache(){
    return cachedBitmaps;
}

   }

但是,如果缓存大小为1MB,我认为它不是主要负责人......

EDIT2: 奇怪的是随着时间的推移,服务内存使用量减少了......从现在的16MB开始,1小时后就是9 MB。

0 个答案:

没有答案