Activity与Service的回收】的更多相关文章

Android开发中,一个Application,运行在一个进程中.这个Application的各种组件(四种组件),通常是运行在同一个进程中的.但是,并不是绝对的.由于某种需求,比如,你可以设置AppA的组件Activity_A,运行在另外一个进程(ProcessB),通过设置Activity_A的属性android:process来实现. 这是关于进程和组件方面的关系.这些信息,与接下来的资源回收有关.当系统内存不足的时候,系统会按照进程的优先级来kill部分进程,优先级越低的进程,优先被K…
Activity.Service.BroadcastReceiver这三个组建是Android开发中最常使用到的组件,在它们的生命周期的各个阶段我们需要针对性的做些事情,了解这些组件的生命周期有利于我们更好的开发Android应用. Android的生命周期如图所示: 下面是部分翻译了Activity源代码中对于这些方法的解释: onCreate:用来初始化UI,以及所需显示的数据 onStart:用来显示或重新显示UI onRestart:当Activity重新显示到界面上时被调用,接下来的操…
本文出自 “Bill_Hoo专栏” 博客,请务必保留此出处http://billhoo.blog.51cto.com/2337751/761230 这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下面把自己的经验分享给大家. Android开机启动Activity或者Service方法 [原理] 当Android系统完成BOOT阶段之后,就会发送一…
Android启动Service有两种方法,一种是startService,一种是bindService.生命周期如下: 执行startService时,调用者如果没有stopService,Service会一直在后台运行.多次调用startService,该Service只能被创建一次,即该Service的onCreate方法只会被调用一次.但是每次调用startService,onStartCommand方法都会被调用. 执行bindService时,调用者调用unbindService方法…
/*****************开启Activity  并传递参数*******************/ 使用am命令启动Activity并传递参数的方法,也能用作C层与Java进行数据传递的一种手段.   比如,我们要启动的Acitvity所在的app是net.yurushao.demo,需要启动的是其中的ExampleActivity,并给他传递两个参数: 1. pid 整数,值为10 2. str 字符串,"hello, world"   那么,完整的命令为(在Androi…
一般情况下,Activity和Service在同一个包名内,并且没有设定属性android:process=":remote",两者在同一个进程中. 因为一个进程只有一个UI线程,所以两者就在同一个线程里. 如果设置android:process=":remote",就属于跨进程访问,就属于不同的进程了. 验证方法: 在Activiyt和Service的OnCreate中打印进程的信息 如Log.i("Tag",Thread.curentThre…
Activity.Service和线程应该是Android编程中最常见的几种类了,几乎大多数应用程序都会涉及到这几个类的编程,自然而然的,也就会涉及到三者之间的相互通信,本文就试图简单地介绍一下这三者通信的方式. 想写这篇文章的起因是,笔者跟几个同学在做一个Android上的应用,起初代码写得很凌乱,因为我在Activity中直接创建了线程,去执行某些任务.但是我们知道线程可能需要运行的时间比较长,而Android在内存不足的时候,会将一些Activity销毁,这样线程就会失去了管理的对象,从而…
使用Messenger 上面的方法只能在同一个进程里才能用,如果要与另外一个进程的Service进行通信,则可以用Messenger. 其实实现IPC(Inter-Process Communication,进程间通信)的方式,还有AIDL,但推荐使用Messenger,有两点好处: 1. 使用Messenger方式比使用AIDL的方式,实现起来要简单很多 2. 使用Messenger时,所有从Activity传过来的消息都会排在一个队列里,不会同时请求Service,所以是线程安全的.如果你的…
Activity和Service绑定后,可以方便Activity随时调用对应的Service里面的方法 绑定代码如下 Activity类代码: <span style="font-size:16px;">package com.fox.Activity; import com.fox.Activity.service.Service1; import android.app.Activity; import android.content.ComponentName; im…
参考: http://blog.csdn.net/gebitan505/article/details/18151203 实现更新下载进度的功能 1. 通过广播交互 Server端将目前的下载进度,通过广播的方式发送出来,Client端注册此广播的监听器,当获取到该广播后,将广播中当前的下载进度解析出来并更新到界面上. 优缺点分析: 通过广播的方式实现Activity与Service的交互操作简单且容易实现,可以胜任简单级的应用.但缺点也十分明显,发送广播受到系统制约.系统会优先发送系统级广播,…