android应用程序的优先级

andorid系统为保障应用程序运行的流畅性,当内存资源比较匮乏的时候会杀死那些优先级比较低的进程

android进程的优先级如下图:

1、活动进程:

  是指那些正在与用户进行交互的应用程序进程,这种组件很少。

  比如:

    ①、正在与用户交互的activity;

    ②、正在执行onreciever方法的broadcast receiver;

    ③、正在执行onCreate、onStart、onDestroy方法的service,

    ④、标记为前台service

2、可见进程:

  是指那些没有与用户进行交互,但是用户还可以看见的进程

3、启动service的进程

4、后台进程:

  那些没有serivce运行的activity进程,并且处于不可见状态

5、空进程:

  应用程序的生命周期已经结束,但是android系统任然把它们保存在内存中,利用这个缓存来减少应用程序下一次的启动时间

总结:google所做的一切都市为了增加用户的体验性

时间: 2024-10-10 10:53:14

android应用程序的优先级的相关文章

Android应用程序窗口设计框架介绍

在Android系统中,一个Activity对应一个应用程序窗口,任何一个Activity的启动都是由AMS服务和应用程序进程相互配合来完成的.AMS服务统一调度系统中所有进程的Activity启动,而每个Activity的启动过程则由其所属进程来完成.AMS服务通过realStartActivityLocked函数来通知应用程序进程启动某个Activity: frameworks\base\services\java\com\android\server\am\ ActivityStack.j

Android应用程序的组成部分

Android应用程序由松散耦合的组件组成,并使用应用程序Manifest绑定到一起:应用程序Manifest描述了每一个组件和它们之间的交互方式,还用于指定应用程序元数据,其硬件和平台要求,外部库以及必需的权限. 下面几个组件提供了应用程序的基本结构模块: Activity:应用程序的表示层.应用程序中的每一个UI都是通过Activity类的一个或多个扩展实现的.Activity使用Fragment和视图来布局和显示信息,以及响应用户动作. Service:应用程序中不可见的工作者.Servi

Android应用程序安装与Launcher启动机制

以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luoshengyang/article/details/8923485http://blog.csdn.net/luoshengyang/article/details/12957169 整理by Doing Android系统在启动的过程中,会启动一个应用程序管理服务PackageManagerService,

【苦读官方文档】2.Android应用程序基本原理概述

官方文档原文地址 应用程序原理 Android应用程序是通过Java编程语言来写.Android软件开发工具把你的代码和其它数据.资源文件一起编译.打包成一个APK文件,这个文档以.apk为后缀,保存了一个Android应用程序全部的内容.Android设备通过它来安装相应的应用. 一旦安装到设备上.每一个Android应用程序就执行在各自独立的安全沙盒中: Android系统是一个多用户的Linux系统.每一个应用都是一个用户. Android系统默认会给每一个应用分配一个唯一的用户ID(这个

Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析

http://blog.csdn.net/luoshengyang/article/details/8223770 在前文中,我们分析了Android应用程序窗口的运行上下文环境的创建过程.由此可知,每一个Activity组件都有一个关联的ContextImpl对象,同时,它还关联有一个Window对象,用来描述一个具体的应用程序窗口.由此又可知,Activity只不过是一个高度抽象的UI组件,它的具体UI实现其实是由其它的一系列对象来实现的.在本文中,我们就将详细分析Android应用程序窗口

Android应用程序签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安卓到系统中.Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序自我认证的. Android应用程序签名的影响 使用同一个签名证书,则不同签名的应用无法覆盖生成的应用程序,即使包名相同,因此,主要的签名影响有以下两点: 1.应用升级.使用相同签名的升级软件可以正常覆盖安装老版本的软件,否则,系统发现签名证书不

单例访问Android应用程序对象

1.单例模式: 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案. 2.单例模式优势: 由于单例模式在内存中只有一个实例,减少了内存开销 单例模式可以避免对资源的多重占用. 单例模式可以在系统设置全局的访问点,优化和共享资源访问. 2.问题:需要从android应用程序中去访问全局数据 解决

Android卸载程序之后跳转到指定的反馈页面

今天去面试,一面还可以,到了第二面的时候也差不多吧,最后来了一题,说那个360被卸载之后会跳转到指定的反馈页面,是怎么弄的?这个之前没有研究过,但是这个效果是见过的.当时想到了,Android中卸载应用的时候会发送一个广播,我们可以接收到这个广播,然后处理一下.结果他来个反问句:这样可以吗?然后仔细想想,既然他这么问了,应该是有问题,在想想,发现的确是有问题,当应用被卸载了,那个接收到广播处理之后的逻辑代码放在那里执行?好吧,然后就没戏了~~ 回来了,就百度了一下,果然网上似乎有相关的问题的解答

Android应用程序窗口(Activity)与WindowManagerService服务的连接过程分析

在前两文中,我们分析了Activity组件的窗口对象和视图对象的创建过程.Activity组件在其窗口对象和视图对象创建完成之后,就会请求与WindowManagerService建立一个连接,即请求WindowManagerService为其增加一个WindowState对象,用来描述它的窗口状态.在本文中,我们就详细分析Activity组件与WindowManagerService的连接过程. 我们从两方面来看Activity组件与WindowManagerService服务之间的连接.一方