android杀死进程
2016-07-13 18:32
302 查看
通常我们说缓存就是暂时把没在前台的程序放在内存里,比方说我打开短信应用,然后退回到Launcher打开微信,那么短信就成了所谓的后台程序放在了RAM里,这时候短信应用什么也不会干,就是像一个安静的美男子一样呆在RAM里,不会消耗CPU资源,如果你这时候再打开短信应用,会发现载入速度会比你第一次打开短信应用快很多,因为这是从RAM里直接加载的。一些比较低级的清理软件其实清理的就是这个,实际上很没有必要,为了看上去爽,实际上造成了先前加载过的应用需要重新加载,得不偿失。所以你看原生Android(包括iOS)都没有一键清理内存的功能。
服务就是很多人所说的后台了,你可以理解为一个没有界面的应用,除了其生命周期有规定,其他的东西都没有限制,它可以调用各种传感器,可以与不同的服务器进行通信,它可以十分钟扫一次SD卡,也可以每秒钟都跟服务器轮询是否有新的消息,只要程序员愿意,服务可以在任何时间做任何事。所以由于服务能干不同的事,程序员的水平也参差不齐,所以有的服务只会消耗极少的系统资源,有的服务则会严重拖慢系统。服务不像缓存的应用那样,如果RAM留给缓存应用的空间满了,那么系统就会选择性的踢出去个别占缓存的应用,留出新的空间。服务就不会像缓存的应用那样弱弱的任由系统宰割,系统无法自动释放服务所占据的资源,所以如果某个服务占据了大量的RAM或者CPU资源,那系统自然就卡爆了。
GCM的出现可以说在一定程度上解决了服务各自为政的情况,GCM顾名思义就是Google云消息服务,它本身也是一个服务,是为系统提供一个统一的消息接口,所有需要消息推送的应用比如微博、微信、QQ都可以通过这个接口进行消息推送,推送的途径就是从应用的服务器把消息发送到GCM的服务器,然后由GCM服务器发送到你手机上的GCM客户端,GCM客户端再发到相应的APP,这样一来,多个应用共用一个进程接收消息,是不是就节省了很多资源呢~
当然GCM也不是万能的,它只能提供消息推送,另外因为我朝特殊原因,要么因为手机上没有Google服务框架,要么因为某墙作怪,导致手机不能正常接收GCM消息,所以很多我们熟知的厂商干脆就一管撸到黑,继续用服务的方式提供消息推送啦。
根据你的问题,做如下解答:
如果只是应用的缓存被清掉了,它负责推送的服务没被杀掉(其实服务还蛮难杀的,注册了的服务系统会根据其生命周期自动将其“复活”,感觉好像“少年你还有未完成的使命,返回人间去吧”这样),那么应用依然会收到消息,依然会弹个通知给你。
如果应用连负责推送的服务都被杀掉了(Greenify可以做到,具体的方法这里就不多说了,网上搜有专门的回答),而且这应用赶巧又没用GCM,那么抱歉,消息收不到,再漂亮的妹子发来的消息也收不到,再大的领导发来的消息也收不到。
如果这应用刚好用了GCM,刚好你又神通广大在本朝能正常接收GCM推送,那么消息会收到的。
微信现在把GCM作为一个实验特性,并且还支持Android Wear语音回复,突然觉得鹅厂微信这只还蛮潮的。
服务就是很多人所说的后台了,你可以理解为一个没有界面的应用,除了其生命周期有规定,其他的东西都没有限制,它可以调用各种传感器,可以与不同的服务器进行通信,它可以十分钟扫一次SD卡,也可以每秒钟都跟服务器轮询是否有新的消息,只要程序员愿意,服务可以在任何时间做任何事。所以由于服务能干不同的事,程序员的水平也参差不齐,所以有的服务只会消耗极少的系统资源,有的服务则会严重拖慢系统。服务不像缓存的应用那样,如果RAM留给缓存应用的空间满了,那么系统就会选择性的踢出去个别占缓存的应用,留出新的空间。服务就不会像缓存的应用那样弱弱的任由系统宰割,系统无法自动释放服务所占据的资源,所以如果某个服务占据了大量的RAM或者CPU资源,那系统自然就卡爆了。
GCM的出现可以说在一定程度上解决了服务各自为政的情况,GCM顾名思义就是Google云消息服务,它本身也是一个服务,是为系统提供一个统一的消息接口,所有需要消息推送的应用比如微博、微信、QQ都可以通过这个接口进行消息推送,推送的途径就是从应用的服务器把消息发送到GCM的服务器,然后由GCM服务器发送到你手机上的GCM客户端,GCM客户端再发到相应的APP,这样一来,多个应用共用一个进程接收消息,是不是就节省了很多资源呢~
当然GCM也不是万能的,它只能提供消息推送,另外因为我朝特殊原因,要么因为手机上没有Google服务框架,要么因为某墙作怪,导致手机不能正常接收GCM消息,所以很多我们熟知的厂商干脆就一管撸到黑,继续用服务的方式提供消息推送啦。
根据你的问题,做如下解答:
如果只是应用的缓存被清掉了,它负责推送的服务没被杀掉(其实服务还蛮难杀的,注册了的服务系统会根据其生命周期自动将其“复活”,感觉好像“少年你还有未完成的使命,返回人间去吧”这样),那么应用依然会收到消息,依然会弹个通知给你。
如果应用连负责推送的服务都被杀掉了(Greenify可以做到,具体的方法这里就不多说了,网上搜有专门的回答),而且这应用赶巧又没用GCM,那么抱歉,消息收不到,再漂亮的妹子发来的消息也收不到,再大的领导发来的消息也收不到。
如果这应用刚好用了GCM,刚好你又神通广大在本朝能正常接收GCM推送,那么消息会收到的。
微信现在把GCM作为一个实验特性,并且还支持Android Wear语音回复,突然觉得鹅厂微信这只还蛮潮的。
相关文章推荐
- Android4.2中应用接收开机广播(android.intent.action.BOOT_COMPLETED)失败的原因
- Android.mk中引用第3方动态库
- 【Android】MediaRecorder/MediaPlayer实现录音与播放录音
- android ndk开发爬坑之无法解析的符号
- android 开发连接真机录制视频(转GIF,方便演示)
- Android基础知识---EditView属性名称及描述
- Android如何正确获得View的宽和高
- Android的资源类型之Drawable
- Android6.0系统获getMacAddress()取Wifi和蓝牙Mac地址返回02:00:00:00:00:00解决办法
- [Android5.1]ContentProvider的Binder通信分析
- Android源代码分析--Preference之自动通话录音
- Android.util.Log 关于Android开发中打印log
- php判断网页 是否是 Android webview加载
- 简单的底部标签开源项目:BottomBar
- 十篇安卓文章,都挺不错的
- Android规范摘记
- Android 自定义圆形文字头像
- 史上最快的Android多渠道打包方案
- Android 界面开发颜色整理
- Android studio 设置