我正在开发一个处理任意数量的用户定义视图的 Android 应用程序。视图可以非常简单和轻量级,或者它们可以非常复杂并且需要相对较长的时间来实例化。
当用户从一个视图切换到另一个视图时,我想使用后台线程来预缓存其中一些视图以提高响应能力。我有一种方法可以为每个视图设置优先级,以确定它们应该添加到缓存中或从缓存中删除的顺序。
我的问题是我需要确定何时内存不足。我想我可以用它MemoryInfo
来确定我有多少可用内存。但是设置阈值是否有一个好的经验法则?我应该在什么时候停止缓存其他视图?在什么时候我应该考虑从缓存中删除低优先级的视图?