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/

相关文章:

python - 进程内存使用输出

android - 在Android : java. lang.ClassCastException 中获取所有已安装的应用程序图标

android - Android位图缩放比例错误

c# - 为什么Bitmap.LockBits在VM上失败

java - 如何从 Android 中的 .txt 文件中获取数据

c - 如何释放邻接链表分配的内存?

algorithm - 寻找一个简单的哈希表实现示例作为引用

android - 使用 Dagger 2 注入(inject) Androidx Activity

android - 在继续异步之前等待改造 2 完成的最佳方法

android - android应用程序:播放嵌入在webview中的youtube视频