适当的安卓活动清理以减少内存占用



也许这个问题是双重的:

目标是减少 Android 应用程序的内存占用,并在具有 512 MB 内存或更小的低端低/中 DPI 设备(旧版/付费手机等)上提供合理的可用体验。

我观察到的是,在浏览一些活动后,假设由于创建的活动被缓存,性能会下降。

旨在减少内存占用的活动导航之间清理的首选方法是什么?

你写的

What's the preferred way to clean up in between Activity navigation aiming to reduce memory footprint?

启动新活动时,您可以通过执行以下操作来清除活动堆栈:

Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

这将关闭除"下一个活动"之外的所有活动。

通常,您可以在清单中指定,当您启动另一个活动时,活动不应"继续":

<activity
  android:name=".CurrentActivity"
  //...
  android:noHistory="true"/>

您还需要确保关闭的活动不会泄露,例如,当您调用onPause()或onStop()时,您需要注销在您的活动中注册的所有BroadcastReceiver。

详细信息最终将取决于应用的具体情况。

相关内容

  • 没有找到相关文章

最新更新