1
yescpu 2016-11-22 10:53:28 +08:00
Android 内存数据放哪儿多有可能被回收,所以正常流程是先保存硬盘、 load 到内存,用的时候先先 check 内存有没有,没有还得再 load 到内存
|
2
enenaaa 2016-11-22 11:47:12 +08:00
如果数据少, 那哪个地方用到就存哪里。
如果数据较多, 就建一个类集中存放, 顺便还能加本地存储功能。 |
3
xingda920813 2016-11-22 15:38:57 +08:00
这两种方法是一样的。单进程情况下, Application 只有一个对象, static 也只有一份。多进程情况下,每个 JVM 都有一个 Application 被创建,不同 JVM 中加载的类在内存空间上彼此独立,即使是 static 也是有多份的(因为在不同的虚拟机)。
如果只需要内存缓存的话, static 是可以的,用起来还简单一些。目前 Android 使用的 JVM 并没有类卸载 (class-unloading) 机制,类一旦被加载进来,只要进程不死,是不会卸载掉的。从这点上看, Application 的生命周期和 static 是一样的。 对于后台返回的用户信息,应该是要做持久化的。否则 App 杀掉后,登录信息会丢失。可以用 JSON 化后放入 SP 等方法。 |
4
Chrisplus 2016-11-22 16:27:48 +08:00
放在 application 里面,跟 applicatuion 同生命周期。
多周期跨周期的读写考虑持久化,比较轻量的数据直接读写 sharedpreference 得了 |