- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我刚刚阅读了有关维护我的 Android 应用程序状态的内容,并偶然发现了 onRetainNonConfigurationInstance。但是在阅读 documentation 时我注意到这句话:
This function is called purely as an optimization, and you must not rely on it being called.
所以我想知道:什么时候使用这种方法才真正有意义。如果我不能依赖它被调用,我无论如何都需要另一种机制来传输状态(在我的例子中这将是一些序列化)。因此,除非我遇到任何性能问题,否则我有什么理由应该选择 onRetainNonConfigurationInstance 吗?
如果它能保证被调用,我很乐意使用它,但如果不能,它似乎毫无用处。
我错过了什么吗?你什么时候使用这个方法?您将如何保持网络连接或类似的东西?
谢谢!
最佳答案
文档的意思是,有些情况下不会立即重新创建 Activity,在这种情况下不会调用 onRetainNonConfigurationInstance()。您不能使用此方法来持久化数据。它仅用于传输在配置更改期间创建成本高昂的对象。
关于android - 我应该实现 onRetainNonConfigurationInstance 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720927/
在我的应用程序中,我必须检查用户位置,然后连接到服务器以找出最近的城市。这意味着我有两个昂贵的对象,我想在配置更改时保留它们。一个是找出位置的任务,另一个是从服务器检索数据的 AsyncTask。现在
在我的 Activity 中,我正在实例化一个对象,该对象负责查询、处理和存储 fragment 所需的数据。我正要使用 onRetainNonConfigurationInstance() 以便在配
我用安卓做了一个媒体播放器它工作得很好但是当我改变屏幕方向时, Activity 正在重新启动我知道这个问题已经在 stackoverflow 上被问过好几次了但没有一个答案对我有帮助。我想我应该使用
我有关于在同一个 Activity 中恢复多个线程的问题:我的应用程序中有三个不同的线程,我称之为 AThread、BThread 和 CThread。 如果我的应用关闭并重新打开,我需要重新打开所有
onRetainNonConfigurationInstance() 的文档说“这个函数被调用纯粹是为了优化,你不能依赖它被调用。” 什么情况下onRetainNonConfigurationInst
是否onRetainNonConfigurationInstance()每次更改配置时调用,即当我更改设备方向时?我覆盖它并检查它确实如此,但让我感到困惑的是 documentation 中的这条注释
package com.commonsware.cwac.wakeful.demo; import android.app.ListActivity; import android.database.
我有一个很大的位图,当 qwerty 键盘可见时,我想将其保存在内存中。我的应用程序始终处于横向状态,因此这是唯一会导致重绘的配置更改。我听说这就是 onRetainNonConfigurationi
我有一个应用程序可能会在单个玩家使用应用程序期间跟踪大量数据,我的应用程序一次最多允许 5 个玩家,这意味着这些大量数据可能会增加 5 倍。 当 Activity 被销毁时,我将所有数据写入我的 SQ
在我的类 View 中,手机摄像头将打开,程序会在用户从手机摄像头拍摄照片后显示位图,但同时用户将屏幕旋转到“横向”位图将消失, Activity 的 oncreate() 将再次加载并且然后相机将再
我刚刚阅读了有关维护我的 Android 应用程序状态的内容,并偶然发现了 onRetainNonConfigurationInstance。但是在阅读 documentation 时我注意到这句话:
我有一个 android 应用程序,想在方向更改时保存实例的状态。我的 Activity 包含原始数据类型和一个用户定义的位图和字符串数组列表。哪种方法更适合解决我的问题? OnSaveInstanc
在处理 AsyncTask 和屏幕旋转时,我仍在努力寻找“正确”的设计模式。我阅读了链接到 this commonsware blog post 的 this code ,但现在不推荐使用 onRet
据我所知,onRetainNonConfigurationInstance 是一个冗余回调。如果我的 Activity 有非常昂贵的初始化,我最好使用 onSaveInstanceState。保存的实
我已经在我的一个 Activity 上实现了 onRetainNonConfigurationInstance() 来处理 android 屏幕方向。这是代码: @Override publi
我有一个应用程序 Activity,它在 onCreate 中使用 AsyncTask 从服务加载 XML 文件。 XML 被解析为 ArrayList。当我切换到另一个 Activity 然后返回主
根据 Android API 文档,Activity.onRetainNonConfigurationInstance()已弃用 Fragment.setRetainInstance() . 但是,我
我是一名优秀的程序员,十分优秀!