有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

系统终止活动时带有全局变量的java Android持久状态

为了在我的安卓应用程序中保持状态,以便用户返回他们停止的活动,我在清单中设置了非常有用的标志alwaysRetainTaskState:

<activity 安卓:name=".Main"
              安卓:label="@string/app_name"
              安卓:alwaysRetainTaskState="true"> 
        <intent-filter>
            <action 安卓:name="安卓.intent.action.MAIN" />
            <category 安卓:name="安卓.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

这就完成了任务,至少我是这么想的;我发现该系统仍然可以破坏我的应用程序的活动以保留内存,同时保持状态。为了验证这一点,我编写了一个小测试应用程序,在一个循环中创建一系列活动,以查看我的应用程序的活动是否会被破坏。果然,这个系统破坏了我的活动

通过阅读,我发现我需要使用onSaveInstanceState()和onRestoreInstanceState()来帮助维护活动状态

为了回答我的问题,假设我有一个包含许多全局变量的活动,其中一些是静态的,一些不是。它们由布尔、数组列表、字符串等组成。我的问题是,当一个活动被破坏时,我不知道这些变量中哪些是持久的。在onSaveInstanceState()中,哪些应该打包到包中?当一个活动被破坏时,系统对这些变量做了什么吗


共 (0) 个答案