Android(二)
活动生命周期(le cycle de vie des activite)
进程(processus)
进程管理
- 在不同的GNU/LInux系统中不同
- 目的:优化应用程序;节省资源;管理任务优先级
一个Android应用是一个Unix进程
可能有一个虚拟据(Dalvik)执行
一个虚拟机aspects的闭包(运行时ART android runtime)
这个进程有一个特殊的生命周期
几个活动生命周期的示例图
注意:执行AlterDialog弹出警告框,这不是一个新的activity,所以没有onPause()*
进程销毁
onDestory()
优先级等级
- 屏幕显示的进程
- 可见的进程
- 服务进程
- 后台任务进程
- 空进程(已结束,存在cache中的进程)
Taches asynchrones(同步的任务)
主进程(le thread principal)
- 刷新界面
- 处理用户相关事务
- 处理messages
- 执行services
不要阻断UI线程
不要从UI线程外部access到UI toolkit
管理线程冲突
两种解决方法:
- 给图像界面元素加锁
- 只用一个Thread管理图形界面元素
委托图形界面处理:
- Activity.runOnUiThread(Runnable)
- View.post(Runnable)
- View.postDelayed(Runnable,long)
异步任务AsyncTask<U,V,W>
JSON
用HTTP读JSON objets:1. 把请求写入一个异步任务 2. 使用这个AsyncTask类
要使用HTTP,有一个封装好的类:HttpURLConnection
自己写一个readStream()方法用来读入数据流(flux de donnees)来构建结果
1 | private String readStream(InputStream is) throws IOException { |