我有一个非常复杂的应用程序正在泄漏内存。为了跟踪泄漏,我将启动器应用程序剥离为一个非常简单的Android应用程序,该应用程序在导航到下一个活动时仍在泄漏活动。我使用Android Studio中的hprof分析器发现了泄漏。整个精简后的启动器活动是:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class HomeTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnStaffStart = (Button)findViewById(R.id.btnStaffStart);
btnStaffStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent startNewActivityOpen = new Intent(HomeTest.this, StaffMenu.class);
startActivity(startNewActivityOpen);
finish();
}
});
}
}
当我导航到StaffMenu活动时,分析器显示HomeTest活动泄漏。如果有的话,我做错了什么吗?启动活动是否总是在Android中泄漏内存?我没有收到OutOfMemory错误消息,只是不喜欢泄漏内存。该应用程序不会分配太多内存,因此即使在精简活动中(少于1%),可用内存也非常小。
我正在运行Android 4.2、4.4和5.1。
编辑我只是尝试了另一个应用程序,它在导航到下一个活动后也泄漏了启动器活动。已知的Android错误???
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句