转载:从进程-线程的角度,理解Activity,Service,Broadcast
来源:互联网 发布:python pip twisted 编辑:程序博客网 时间:2024/06/06 15:00
转自:从进程-线程的角度,理解Activity,Service,Broadcast
http://www.eoeandroid.com/forum-viewthread-tid-67739-fromuid-104906.html
写下来仅记录下困惑了很久的问题...
先说下我以前的错误理解:
Service和Broadcast 这两个东西, 我一直认为这个能够脱离Activity的进程。
因为这两个东西的外部表现就是你离开利当前的进程(直观表现就是你离开当前应用),这两个东西仍然存在在Android的内存中。
我就想当然的认为既然程序都退出了,Service和Broadcast还没有结束,那么这连个东西肯定是依附在系统进程上。
正确的理解是:
Activity,Service,Broadcast这3个东西不仅在同一个进程中,并且还在同一个线程中。
如果有怀疑的话,可以开一个带有Servie的程序,然后用任务管理器杀死这个Service所在的进程,那么你会发现这个Service在相应的被杀死了.
错误的理解归结一下就是看问题的角度有问题。
以前认为是自己的应用程序去控制Android, 其实不然 应该这样理解:你的整个应用程序的生命周期都是Android在帮助你控制。
Activity是Android帮我们创造的,Service和Broadcast也是Android帮我们创造的。
所以当你离开应用程序的时候,你会认为这个程序所在的进程已经被你杀死了(都是被Windows毒害的)。
其实你这个就涉及到Android中Activity的几种状态:
你能够看见的Activity是激活状态,
你看不见的Activity是暂停状态(简单这么认为吧,其实还有别的状态)。
最后总结一下:
不要用应用程序的角度去理解Android, 要用Android的角度去看待应用程序。
不要在Broadcast和Service运行时间较长的任务,容易卡死程序。如果想运行长时间的任务可以再开启一个线程运行。 不要盲目的认为在Service中运行下载任务就卡不死你的程序了。
- 转载:从进程-线程的角度,理解Activity,Service,Broadcast
- http://flyvenus.net/ 深入android http://www.eoeandroid.com/thread-67739-1-1.html 从进程-线程的角度,理解Activity,Service,Broadcast - 4.7更
- Activity,Service,Broadcast其创建的背景线程的关系
- Android四大组件 Activity BroadCast ContentProvider Service 的理解
- 从锁的角度理解线程
- Activity的创建(从Activity的角度理解IWindowSession)
- activity和service,站在user的角度理解
- 从JVM角度理解线程
- 从操作系统的角度,聊聊线程与进程
- 从操作系统的角度解析线程和进程
- 从进程和线程的角度看操作系统
- 从操作系统进程的角度理解 Java 虚拟机
- 【Linux】从进程共享的角度理解IPC通信
- Activity. Intent. Service. Broadcast的使用
- android中service、activity、broadcast的使用
- 关于activity/service/broadcast
- Activity、Broadcast、Service
- 从源码角度理解Android线程
- java线程通讯
- phpdesigner 7 注册码 注册机 汉化版(转载)
- LCS && LIS
- 图像高斯平滑滤波分析(转)
- static变量的初始值
- 转载:从进程-线程的角度,理解Activity,Service,Broadcast
- android新建project
- 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》
- NppAStyle代码格式化插件(C/C++/C#/JAVA)
- jquery学习第四番 常问的问题
- MySql 8小时重连问题
- 显示当前时间
- Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图
- 【转】IP透视摄像头,基本可以实现(讲透视的原理,滤光片很重要)