【问题标题】:How to save View's state after pause?暂停后如何保存视图的状态?
【发布时间】:2018-02-03 12:19:00
【问题描述】:

当我的应用完成一些异步任务时,它会通知 UI。

例如:

  1. 用户点击我的应用程序内的“工作”按钮-> async work started
  2. 并切换到另一个应用程序-> state is saved
  3. 然后我的应用程序中的“工作”完成并更新了 View-s -> async work finished(请注意我的活动已暂停)
  4. 用户旋转手机,然后导航回我的应用
  5. 问题: state is restored 和 View 在 3 步中更新的状态在工作完成时消失了!

如何处理这种情况? 应用暂停后有什么方法可以保存设置吗?

【问题讨论】:

  • 缓存如何(将值保存在 RAM 中)?

标签: android android-savedstate mosby


【解决方案1】:

考虑使用MvpQueuingBasePresenter 或Model-View-Intent,它可以更好地处理与生命周期相关的事情。

【讨论】:

  • MvpQueuingBasePresenter 无济于事,因为它在 Activity(和片段)暂停时仍处于连接状态。视图(和 Android 视图)在 Activity 暂停时仍然可以更改,并且在用户恢复 Activity 时方向更改后,它将丢失在应用程序暂停后所做的状态修改。我可以在 Mosby 3 MVP 中仅在 RESUME 和 PAUSE 之间附加 Presenter 吗?
【解决方案2】:

我认为您应该从该活动更新 onResume 方法中的视图状态。

参考:https://developer.android.com/guide/components/activities/activity-lifecycle.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多