【问题标题】:Programmatically clear cached background process以编程方式清除缓存的后台进程
【发布时间】:2015-10-03 23:30:02
【问题描述】:

我开发了一个简单的应用程序,它可以并排加载四个移动网络视图。 在全新安装时,应用程序会在 0.5 秒内完全打开并加载这些页面。 但是,如果我最小化这个应用程序,由于某种原因,它的“缓存后台进程”超过 200mbs!有时 250... 似乎完全没有必要,因为应用在全新安装时会以闪电般的速度加载

当应用程序最小化(onbackpressed 等)时如何清除此缓存

【问题讨论】:

    标签: java android caching background-process


    【解决方案1】:

    您不必担心缓存内存,因为系统会在需要时回收它。

    但是,如果您仍然想对此做点什么,您可以在您的 onStop() 方法中调用 finish()

    this is a great answerCommonsWare 也讨论这个话题。

    “缓存的后台进程”通常是指不缓存的进程 有前台活动并且没有正在运行的服务。这些 进程保存在内存中仅仅是因为我们有足够的内存 这样做,因此,正如您所注意到的,用户可以切换回这些 快速处理。随着 Android 开始需要更多的系统 RAM 其他进程,“缓存的后台进程”往往是 被终止以释放系统 RAM 的进程

    【讨论】:

    • finish() 没有清除缓存。但是 System.exit(0);在 onStop() 方法中起作用
    • @David 是的,它没有。但调用 System.exit(0);不推荐。
    • 比无缘无故缓存 250mb 更有意义,只需要在需要时清除该内存。
    • 好吧,我们应该把它留给操作系统来决定:)
    • 我把它放在 onBackPressed 而不是 onStop
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多