Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序关闭时内存无法释放_Android_Adt_Android Memory_Android Debug - Fatal编程技术网

Android 应用程序关闭时内存无法释放

Android 应用程序关闭时内存无法释放,android,adt,android-memory,android-debug,Android,Adt,Android Memory,Android Debug,故事是这样的:我从Eclipse运行我的应用程序,假设它在TaskManager中使用了20MB的RAM。 然后我使用“后退按钮”关闭我的应用程序。 我签入任务管理器并处理我的应用程序是否已关闭。 现在我再次从手机上运行我的应用程序,但现在它将使用32 MB。 我关闭我的应用程序并再次从手机上运行,它将使用45 MB的RAM,每次重启都会继续 每次启动都会增加~12 MB。 如果我从Eclipse运行我的应用程序,它将重置回20MB。 我正在使用MyApp存储一些非静态数据和一个SQLite数据

故事是这样的:我从Eclipse运行我的应用程序,假设它在TaskManager中使用了20MB的RAM。
然后我使用“后退按钮”关闭我的应用程序。
我签入任务管理器并处理我的应用程序是否已关闭。
现在我再次从手机上运行我的应用程序,但现在它将使用32 MB。
我关闭我的应用程序并再次从手机上运行,它将使用45 MB的RAM,每次重启都会继续

每次启动都会增加~12 MB。
如果我从Eclipse运行我的应用程序,它将重置回20MB。

我正在使用MyApp存储一些非静态数据和一个SQLite数据库:

public class MyApp extends Application {

}

我可以看到,即使我用back btn关闭我的应用程序,我的应用程序仍将处于活动进程中。

尝试调用
android.os.Process.killProcess(android.os.Process.myPid())在主活动的onDestroy方法上。

尝试调用
android.os.Process.killProcess(android.os.Process.myPid())在主活动的onDestroy方法上。

您应该使用Eclipse内存分析器工具(MAT)-这显然是内存泄漏。您需要从DDMS获取堆转储,使用sdk中的hprof conv工具将其转换并加载到MAT中


查看Android开发者的官方博客。

您应该使用Eclipse内存分析器工具(MAT)-这显然是内存泄漏。您需要从DDMS获取堆转储,使用sdk中的hprof conv工具将其转换并加载到MAT中


查看Android开发者的官方博客。

它可以工作,但你能告诉我为什么可以工作。Android保留了一些关于你的应用程序的数据/说明,以便在很短的时间内再次打开时快速启动,使用该命令,您可以确保不会保存指令和额外数据。这应该被视为最后的手段!真正的问题是内存泄漏,应该予以修复。我只需要在自定义布局引擎中使用它,这些引擎要么具有静态上下文,要么具有原生openGL视图。是的,Phil是对的,这是一个快速而肮脏的解决方案,不应该在大型项目中使用,因为它可能会在下次启动应用程序时导致流程或数据损坏。它可以工作,但您能否告诉我它工作的原因。Android保留了一些关于您的应用程序的数据/说明,以便在关闭后再次打开时快速启动interval,使用该命令可以确保不会保存指令和额外数据。这应该是最后的选择!真正的问题是内存泄漏,应该予以修复。我唯一需要使用它的时候是针对具有静态上下文或本机openGL视图的自定义布局引擎。是的,Phil是对的,这是一个快速而肮脏的解决方案,不应该在大型项目中使用,因为它可能会在下次启动应用程序时导致流程或数据损坏。