所以理论上,如果我有一个webview在一个会话和一个活动中加载多个页面,如果我无法保存该活动的状态,就像我通常会通过Bundle onSavedInstanceState一样,是否有办法提示应用程序检查可用的RAM使用/内存?
我正在寻找一种通过开发人员选项启用“不要保持活动”来维护活动状态的方法。基本上,当应用程序从具有webview的活动启动新活动时,返回时,用户进度的页面将消失,因为这将是一个新的活动实例。
喜欢,我正在寻找通过代码检查ram使用情况的可能性,以便在没有足够的内存使用时提示应用程序退出。
一般来说,这应该发生,因为Android将在堆栈上进行最不频繁的活动并销毁它以使更多的ram空间可用,所以这更像是一个理论问题而不是实际问题。
答案 0 :(得分:0)
实际上,你的理论练习毫无意义。如果Android需要内存,它只会终止后台进程。它不会有选择地销毁应用程序中的Activity
。文件提到了这种可能性,但实际上这种做法从未完成。
开发人员选项“不要保留活动”会在打开时始终打破复杂的应用程序,并且可以用于排除故障并测试某些行为,但它不会我真的模仿Android框架的实际行为,它打破了很多代码。例如,尝试在启用该选项的情况下使用startActivityForResult()
,并查看您获得的内容!