zoukankan      html  css  js  c++  java
  • 怎样application不被第三方应用杀掉--Android

    方法:

    对于放在/system/app下的应用,需要在其Manifest.xml文件中设置persistent属性,如应用程序'Phone'的AndroidManifest.xml文件:

        <application android:name="PhoneApp"

                     android:persistent="true"

                     android:label="@string/dialerIconLabel"

                     android:icon="@drawable/ic_launcher_phone">

             ...

        </application>

    设置后app提升为系统核心级别,任何情况下不会被kill掉, settings->applications里面也会屏蔽掉stop操作。

    原理:

    Android中的进程是托管的,当系统进程空间紧张的时候,会依照优先级自动进行进程的回收。由此带来三个问题:

        1) 回收规则:  什么时候回收与回收哪一个?

        2) 避免误杀:  如何阻止被回收?

        3) 数据恢复与保存:  被回收了怎么办?

    Android将进程分为6个等级,它们按优先级顺序由高到低依次是:

       1.前台进程( FOREGROUND_APP)

       2.可视进程(VISIBLE_APP )

       3. 次要服务进程(SECONDARY_SERVER )

       4.后台进程 (HIDDEN_APP)

       5.内容供应节点(CONTENT_PROVIDER)

       6.空进程(EMPTY_APP)

    特征:

    1.如果一个进程里面同时包含service和可视的activity,那么这个进程应该归于可视进程,而不是service进程。

    2.另外,如果其他进程依赖于它的话,一个进程的等级可以提高。例如,一个A进程里的service被绑定到B进程里的组件上,进程A将总被认为至少和B进程一样重要。

    3.系统中的phone服务被划分到前台进程而不是次要服务进程.

  • 相关阅读:
    ue4 socket
    ue4动画蓝图
    localStorage 用法
    关于textarea中换行、回车、空格的识别与处理
    git忽略某些文件提交
    动态加载js文件
    H5 App页面 绝对定位 软键盘弹出时顶起底部按钮
    Android软键盘弹出时把布局顶上去的解决方法
    javascript 事件委托 和jQuery事件绑定on、off 和one
    escape()、encodeURI()、encodeURIComponent()区别详解
  • 原文地址:https://www.cnblogs.com/zmc/p/3625079.html
Copyright © 2011-2022 走看看