- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在想,什么时候适合将我们的应用程序设置保存到 SharedPreferences。我们应该在 onStop
或 onDestroy
期间执行此操作吗?我意识到这两种方法各有利弊。
如果用户的 Intent 不是退出应用程序,将应用程序设置保存到 SharedPreferences 似乎是多余的。他只是按主页(调用onStop)-> 长按主页 -> 通过再次选择应用程序重新启动应用程序
用户可以通过按主页(调用 onStop)终止应用程序 -> 长按主页 -> 向左滑动应用程序杀死它。如果用户通过这种方式退出应用程序,我意识到 onDestroy
没有被调用,尽管该应用程序被杀死。因此,不会保存应用程序设置。
那么,在 onStop
或 onDestroy
期间保存应用程序设置哪个更好?
最佳答案
最好在做出更改后立即调用 commit()
,或者在 onPause()
方法中调用。这可确保您的更改在几乎所有情况下都得到保存,但导致应用崩溃的未捕获异常除外。
此外,您应该注意 onStop()
或 onDestroy()
都不能保证被调用,尤其是在 Android 内存不足的情况下。然而,onPause()
几乎总是被调用。
关于android - 何时将应用程序设置提交给 SharedPreferences(onStop 或 onDestroy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14756770/
因为我需要一个指向不同类中的 SDL_Window 的指针,所以我认为使用 shared_ptr 是个好主意。 //happens in class A::foo() //shared_Window_
我有一些通过 cron 定期运行的长期运行的 CLI PHP 脚本。我希望它们尽快完成,但又不会严重影响其他进程(例如 Web 服务器响应能力)。 目前我正在运行脚本 nice -n 19 并且还尝试
我想将 view.py 中的字符串数组移交给模板,并将该字符串用于 D3。 views.py: def index(request): template = loader.get_templa
我必须使用一个库函数,它为生成的字符串分配一点内存并返回一个 char*,期望调用者最终使用 free() 释放内存。 // Example declaration of the library fu
我想使用接受 UTF16-LE 字符串作为 (const char16_t* str, size_t length) 参数的库函数。 length 参数只需要为非空终止的字符串提供。该函数将复制字符串
我是一名优秀的程序员,十分优秀!