• 怎样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服务被划分到前台进程而不是次要服务进程.

  • 相关阅读:
    匿名方法
    C# 正则表达式
    c# 预处理命令
    反射
    特性(attribute)
    c# 交换两个变量
    构造函数
    泛型
    Event事件
    委托
  • 原文地址:https://www.cnblogs.com/zmc/p/3625079.html
Copyright © 2020-2023  润新知