Android花费太长时间来回收bitDesps onDestroy

时间:2014-06-23 11:19:35

标签: java android bitmap

我在Android游戏中使用了很多位图,一切都很好,但当我点击一个按钮开始新的活动时,游戏冻结了大约半秒钟。它并不多,但它很烦人。在onDestroy方法中,我回收所有位图,为了节省内存,导致应用程序冻结。有没有更智能的解决方案呢?

1 个答案:

答案 0 :(得分:1)

当调用onDestroy时,也许可以尝试在asynctask中回收它们

像这样的东西

@Override
protected void onDestroy() {
    super.onDestroy();
    new AsyncTask<Bitmap[],Void,Void>() {

        @Override
        protected Void doInBackground(Bitmap[]... params) {
            for (Bitmap b : params[0]) {
                b.recycle();
            }
            return null;
        }
    }.execute(bitmaps);
}