启动其他活动时ImageView内存泄漏
我有一个名为Test1的简单活动。启动其他活动时ImageView内存泄漏" title="内存泄漏">内存泄漏
这是布局代码。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/imageview1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:src="@drawable/load"
android:scaleType="fitXY" />
</RelativeLayout>
在我onDestory
的方法,我松开mImageView
资源和Android的分布是,mImageView
记忆真的被回收。
@Override protected void onDestroy() {
super.onDestroy();
releaseImageViewResource(mImageView);
layout.removeView(mImageView);
mImageView.setVisibility(View.GONE);
mImageView.setImageDrawable(null);
mImageView = null;
}
但是当我启动其他简单的活动中,mImageView
该内存不能被回收。为什么以及如何解决问题?
回答:
为了处理图像,我建议你使用像Glide或Picasso这样的库,他们会为你处理所有的东西。 (内存泄漏,缓存等)
回答:
不确定你的意思是“开始其他简单的活动”,但如果你要去应用程序内的另一个活动,那么你当前的活动(与图像视图)应该暂停被摧毁。要么当你去其他活动时调用finish(),要么只需在onPause()方法中放入onDestroy()代码
以上是 启动其他活动时ImageView内存泄漏 的全部内容, 来源链接: utcz.com/qa/260577.html