Mat*_*euC 25 memory static android low-memory
我有一个应用程序,它有一些静态变量.这些变量存储在一个名为DataContext的独立类中.这些变量在应用程序启动时从原始文件初始化(在MyApplication的onCreate()中调用名为DataContext.initConstant()的方法,该方法扩展了Application).
(编辑:initConstant方法使用AsyncTask从文件加载此数据).
当我的应用程序在后台运行一段时间或者我的应用程序用于大量内存时,这些静态变量将变为null.
如何预防?
如果不是我应该怎么做我的静态变量?
我有其他数据存储在静态变量中以用于不同的活动,但我清除它们或在onLowMemory()MyApplication 中将它们传递给null .
如果这些数据太大而无法在Intent中序列化,数据库无法使用(无论出于何种原因),并且无法通过序列化存储在文件中,那么在活动之间保持一些数据可访问的最佳方法是什么?
你不能。Android 需要不时释放内存。想象一下,如果所有应用程序都有大量应该永久驻留的静态数据 - 您将如何将其放入内存中?这是一部手机。它没有虚拟内存。
(和 3):任何旨在持久化的内容都需要通过 SharedPreferences、Sqlite 数据库或文件进行存储。
| 归档时间: |
|
| 查看次数: |
12516 次 |
| 最近记录: |