android - 离开 Activity 时,我应该如何处理 ImageView?

标签 android memory-management bitmap

我遇到了一些内存问题,导致我的应用程序崩溃。在我的 MainActivity 中,我的 ImageView 中有一个大位图,但是当我在其他也有大位图的 Activity 中时,就会发生崩溃。

当离开我的 MainActivity 去另一个 Activity 时,我应该将我的位图设置为 null 吗?

@Override
protected void onStop() {
    super.onStop();
    myImageView.setImageBitmap(null);
}

或者我可以依靠Java GC来回收为位图分配的内存吗?

最佳答案

是的,如果您同意下次 Activity 重新启动时重新加载位图,最好在 onStop 中回收它。否则GC不会收集它 - 它附加到 View , View 附加到 Activity ,为什么GC会回收它?

关于android - 离开 Activity 时,我应该如何处理 ImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16994162/

相关文章:

java - 使用 GSON 将 JSON 数据解析为数组时出错

xcode - 检查 Swift 中的类对象计数

c++ - 为什么 malloc() 分配的内存比要求的多,我如何禁止 malloc 在 Mac OS X 中执行此操作?

android(singletouch)绘图应用程序撤消方法无法正常工作

c++ - 将 BITMAPINFOHEADER 图像数据写入 IDirect3DTexture9

android - 在路径 : DexPathList for KeyGenParameterSpec$Builder 上找不到类

java - 由于图像太多(只有 20 张图像),无法在 Note 2 上运行应用程序

java - 如何为 Imgflip API 实现 post 方法

python - 内存管理和 Tkinter

android - view.getDrawingCache() 只工作一次