我的应用程序包含10个以上的背景活动。问题是,当我点击按钮移动到另一个Activity
我的应用程序崩溃时,因为我没有为应用程序释放足够的内存。请清楚地告诉我如何编写代码以在Activity
(B)开始之前销毁view.setBackgroundResource(0)
(A)的背景。
@Override
public void onStart() {
super.onStart();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();
}
&我不知道我必须在java中编写代码,请告诉我如何做到这一点?
我不知道我是否使用这个java代码:
module.exports = function(){
return through2.obj(function(file,encode,callback){
console.log(vinyl.isVinyl(file));//false
console.log(file._isVinyl) // undefined
// the reason ? file is not Object of vinyl ? file's property of '_isVinyl' is undefine ?
if(file.isNull()){
callback(null,file);
}
if(file.isStream()){
file.contents = file.contents.pipe(through2(function(chuck,encode,callback){
if(util.isNull(chuck)){
callback(null, chuck);
}
if(util.isBuffer(chuck)){
chuck = new Buffer(String(chuck)
.replace(commentReg, '')
.replace(blankSpaceReg,''))
}
callback(null,chuck);
}));
}
if(file.isBuffer()){
file.contents = new Buffer(String(file.contents)
.replace(commentReg, '')
.replace(blankSpaceReg,''));
}
callback(null,file);
})
}
答案 0 :(得分:0)
你不需要自己破坏后台活动,android系统会为你做。当某个活动不再使用时,系统会自动将其销毁。
view.setBackgroundResource(0)
用于清除视图的背景。
顺便说一句,你说你的应用程序崩溃是因为内存不足,也许它是一个ANR,但是10个以上的活动不应该是例外情况。因此最好放上日志。
答案 1 :(得分:0)
这是documentation中广泛涉及的一个非常大的主题。具体在标题为Managing Bitmap Memory的部分中。我建议你仔细阅读本文档,特别是如果你想自己处理位图的加载,缓存和垃圾收集。