破坏活动的背景

时间:2016-08-25 16:01:21

标签: java android

我的应用程序包含10个以上的背景活动。问题是,当我点击按钮移动到另一个Activity我的应用程序崩溃时,因为我没有为应用程序释放足够的内存。请清楚地告诉我如何编写代码以在Activity(B)开始之前销毁view.setBackgroundResource(0)(A)的背景。

PS:Somme告诉我你必须使用这段代码@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);
    })
}

2 个答案:

答案 0 :(得分:0)

你不需要自己破坏后台活动,android系统会为你做。当某个活动不再使用时,系统会自动将其销毁。

view.setBackgroundResource(0)用于清除视图的背景。

顺便说一句,你说你的应用程序崩溃是因为内存不足,也许它是一个ANR,但是10个以上的活动不应该是例外情况。因此最好放上日志。

答案 1 :(得分:0)

这是documentation中广泛涉及的一个非常大的主题。具体在标题为Managing Bitmap Memory的部分中。我建议你仔细阅读本文档,特别是如果你想自己处理位图的加载,缓存和垃圾收集。

否则,我建议您采用众多库中的一个来处理所有这些问题。例如; GlidePicassoFresco