
Android
文章平均质量分 75
ctt2009
这个作者很懒,什么都没留下…
展开
-
为什么单起一个service而不是直接在Activity里用thread或者asynctask来load图片那?
和朋友通电话,他问了我这么个问题,一时语塞...有太多显而易见的问题背后都有一段让你恍然大悟的知识留贴。明天答。原创 2013-07-10 22:52:37 · 853 阅读 · 0 评论 -
Android OOM(Out of memory) 内存泄露基本知识
最近又碰到了一个OOM的问题,这次还是好好学习总结下。简单来说Activity A onCreate()里, B b = new B(mContext); 在B的构造方法中,注册了一个相关的监听;结果在Activity A的onDestroy()并没有反注册这个监听,导致这个监听一直存在,而他持有mContext, 也就是Activity A,结果导致了从hprof中看,存在有7个Activi原创 2013-10-21 16:19:18 · 1312 阅读 · 0 评论 -
RILJ学习
今天重新看了下RIL,遇到问题去问老马的时候,他分享了一本android内核分析给我,这本书真是太牛了,写的好透彻,看了这书后才发现什么是看Code该有的态度。默默回忆下我之前看Code乱七八糟的套路,内心极端鄙视自己。 RILJ RIL.java相当于RIL的代理,起到消息转发的作用。RILJ一旦和RILD连接成功,就可以向RILD发送请求,RID接到请求后,再将消原创 2013-08-01 10:06:41 · 1829 阅读 · 1 评论 -
AsyncTask
AsyncTask 一次只能执行一个任务,太耗时的操作不能用AsyncTask。AsyncTasks should ideally be used for short operations (a few seconds at the most.) 曾经在工作中遇到一个问题,一个程序里面创建了多个AsyncTask,其中两个一个是下载图片,另一个是录音。当录音开启时候,下载图片,图片一直无法下载原创 2013-03-07 10:24:55 · 853 阅读 · 0 评论 -
MMI SS USSD扫盲贴
MMI是Man-Machine-Interface的缩写。从功能上来看,有一些从拨号盘拨出去的字符串,它的实际作用不是建立一个通话而是为了完成某种服务,这个就是MMI;从格式上来看,每一个从拨号盘输入的字符串,如果包含有*或者#,都可以称之为MMI. MMI包括SS, USSD,Manufacturer defined MMI codes, SIM control codes等等。Ma原创 2013-05-22 18:29:36 · 3735 阅读 · 0 评论 -
AIDL的一点理解
最近参与了一个项目,其中有用到两个APK间进行通信,最终采用的是AIDL,于是自己小研究了下,如有错误,请大家指正。1. 创建.aidl文件首先,创建.aidl文件。这个文件类似于声明文件,对于服务器端而言,就是声明你需要对外提供什么接口;对于客户端来说,声明了自己将要用到的接口。所以,不仅服务器端要创建.aidl文件,客户端同样需要。IEmilyService.ai原创 2013-07-10 22:19:46 · 1134 阅读 · 1 评论 -
Fragment & Fragment间的通信实现
Fragment是一个和Activity息息相关的控件。一个Fragment必须总是嵌在一个Activity里,Activity的生命周期会直接影响到它,比如当Activity Paused的时候,Fragment也是Paused. 但是当Activity resume的时候,Fragment可以独立的进行任何包括添加,删除等的操作。Fragment的生命周期和Activity十分类似,下面这原创 2013-05-20 16:44:24 · 853 阅读 · 0 评论 -
CallerInfoAsyncQuery
留帖。今天看某段代码看得要死,CallerInfoAsyncQuery没看懂,继续看。栈内的listener是怎么被删除的?原创 2013-03-13 17:30:35 · 972 阅读 · 0 评论 -
判断一个Activity是否在最前端
在manifest文件中声明权限ActivityManager am = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);List taskInfo = am.getRunningTasks(1);ComponentName componentInfo = taskInfo.get(0转载 2012-08-20 15:21:42 · 1492 阅读 · 0 评论 -
Andrid基础知识复习之Activity Task/Back Stack
allowTaskReparenting1. 这个属性决定了一个activity是否能够从启动它的task移动到和它有affinity并且重新回到前台的task中.2. 如果activity这个属性没有被设置,则采用application 的属性,默认为false.3. 正常情况下,一个activity会在启动它的的task里完成它大部分的生命周期。我们可以利用这个属性,强制将其re-原创 2013-03-07 11:04:34 · 942 阅读 · 0 评论