Android学习笔记_20140602
来源:互联网 发布:数据库系统组成 编辑:程序博客网 时间:2024/06/05 18:05
1. 按Home和Back的区别
在Android中,当按下Home键,默认情况下stop前台的actiity,即activity设置成onstop,而不是ondestory。如果再次启动该activity不是调用onCreate,而是调用onSavedInstanceState方法,保持上次Activity的状态则是从onRestart开始->onStart->onResume;
而当按下back键则不同,back键默认finish前台的activity,即activity的状态为onDestory为止,再次启动该activity则从onCreate开始,不会调用onSavedInstanceState方法。
2. 进程和应用程序
应用程序:一组组建(activity service receiver)的集合
一般情况 一个应用程序对应一个进程,关闭掉应用,即关闭所有activity,应用程序的进程是不会被关闭的,仍然在后台长期运行
Android采用进程优先策略,自动管理进程:
a.前台进程: 可以看到进程里的某个界面,可以操作
b.可见进程: 可以看到进程里的某个界面,但不可以操作
c.服务进程: 如果一个应用程序有一个服务在后台运行
d.后台进程: 没有任何服务的进程,打开一个activity之后 按home最小化了
e.空进程: 没有任何活动组件存在的进程。
3. Service生命周期
--startService中,service的生命周期为onCreate-->onStart-->onDestroy(由startService开始的service必须调用stopService才能终止service的运作,不调用stopService,那么即使Activity.finish()了Service还是在运作)
--bindService中,service的生命周期为onCreate-->onBind-->【Activity.finish()】-->onUnbind-->onDestroy(由bindService开始的service可以用onunbindService停止service运作,也可以在一个Activity finish以后自动unbindService停止运作)
--通过startService开启的服务,不能调用Service的方法,但是Activity销毁,服务也会长期运行于后台;通过bindService开启的服务,可以调用Service的方法,但服务销毁,服务也跟着销毁;可以采用startService开启服务,再绑定服务的方法达到长期运行服务,并且可以调用服务方法。
4. 绑定本地服务的流程
a. 在activity调用bindService()去绑定服务
bindService(intent, conn, BIND_AUTO_CREATE);
需要传递一个叫ServiceConnection的接口参数
用来返回两个回调方法 : 当服务被成功绑定/当服务失去连接
b. 在服务里面需要重写方法 onBind() 在服务被绑定的时候调用返回一个IBinder的接口对象(代理人).
代理人必须要实现一个方法,这个方法可以调用到服务的方法
3. 在activity的onServiceConnected得到中间人
4. 调用中间人的方法
5. 中间人调用服务的方法.(中间人继承一个接口的方式进行封装)
------------------------------------------------------------------------------
@ 如果是远程绑定,Service.java文件要改为aidl格式的后缀
- Android学习笔记_20140602
- Android学习笔记--Gson笔记
- Android学习笔记
- Android学习笔记(二)
- android学习笔记--序
- android学习笔记1
- android学习笔记2
- android学习零碎笔记
- Android 学习笔记
- Android学习笔记(一)
- Android ExpandableListActivity 学习笔记
- Android EditText 学习笔记
- Android学习笔记3
- Android学习笔记4
- Android学习笔记5
- Android学习笔记9
- Android Animation学习笔记
- Android 学习笔记
- VMware中三种网络连接的区别
- Git Clone时报错
- 数据挖掘算法 apriori算法
- 转:C语言宏定义
- linux chown命令
- Android学习笔记_20140602
- ZOJ 2744 Palindromes
- 编写高质量代码——重载operator=的标准三步走
- 数据挖掘 关联规则算法
- 求gcd(1,n)+...+gcd(n,n)的和f(n)
- linux 剪切命令 mv
- matlab conv2 函数
- Gridview(一)
- 9个方法,教你用Google Drive做好云端档案管理