android heap size 不断增大
我现在做的一个android项目,由于图片很多,项目跑着跑着heap size 不断增大。不管使用什么方式heap size就是不减小,一旦heap size超过60MB就报OutOfMemory了。但是data object的total size 都是稳定在2.6~2.8左右。
也使用过下列方法在Activity onCreate时,设置一些view 的图片背景
protected void setViewBitmapBg(View view,int resId) {
if(view == null){
return;
}
Resources resources = getResources();
TypedValue value = new TypedValue();
resources.openRawResource(resId, value);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inTargetDensity = value.density;
Bitmap bitmap = BitmapFactory.decodeResource(resources, resId, opts);
if(bitmap == null){
return;
}
view.setBackgroundDrawable(new BitmapDrawable(resources,bitmap));
}
然后在destroy时释放掉这些view所占用的背景资源
protected void releaseViewBitmap(View... view) {
for (View v : view) {
if(v != null){
v.setBackgroundResource(0);
BitmapDrawable bd = (BitmapDrawable) v.getBackground();
if(bd != null){
bd.setCallback(null);
bd.getBitmap().recycle();
}
}
}
}
结果heap size还是不断增大,不减小。请问下各位大神,有没有办法让app 所占用的heap size减小?
tc的皮皮虾
10 years, 6 months ago