Android BroadcastReceiver原理剖析

摘要: 这里主要跟一下android源码,看看BroadcastReceiver的工作原理。BroadcastReceiver分动态注册和静态注册,静态注册涉及到系统开机时的程序安装过程,这里关于静态注册BroadcastReceiver的过程暂时不理,等写到程序安装会有相应的解说。我们将从普通的Activ... 阅读全文
posted @ 2015-03-11 12:47 asi24 阅读(3900) 评论(0) 推荐(0) 编辑

android之taskAffinity+allowTaskReparenting

摘要: taskAffinity:指定activity的宿主对象(task)。可以指定activity自身所需要进入的task的实例对象,如果未指定,默认使用application中的taskAffinity(默认为包名),注意设置taskAffinity设置的String需要带前缀.,taskAffini... 阅读全文
posted @ 2015-01-09 01:48 asi24 阅读(515) 评论(0) 推荐(0) 编辑

理解数组的length和String的length()

摘要: OK,那么问题来了,数组的length和string的length哪个是方法,哪个是属性?为什么?初步理解:首先我们可以确定的是String是一个类,那么理论上String是可以同时提供length属性和方法的。java数组又是什么?没有明确的定义或者我们找不到相应的类源码来证明它是一个类,初步认定... 阅读全文
posted @ 2014-11-14 13:47 asi24 阅读(1571) 评论(0) 推荐(0) 编辑

SharedPreferences小探

摘要: 想到个问题,SharedPreferences有没有使用缓存相关的技术?会不会操作不成功?线程安全么?进程操作可靠吗?首先想到的是Activity里面的:public abstract SharedPreferences getSharedPreferences(String name, int m... 阅读全文
posted @ 2014-09-20 02:16 asi24 阅读(443) 评论(0) 推荐(0) 编辑

从文字排版到编码排版

摘要: 昨天,心血来潮,研究了一下,文字为什么要从左到右从上到下,而不是古时候的从上到下从右到左? 有人说是书写习惯,古代的竹简是上下的,而右手书写,左手扶卷,徐徐向左...也有人说是古代以左为尊以上为尊...貌似都有点道理,但都不直指本质,试想,文字出现的时候有竹简了么?论王权了么?...其实这和眼睛... 阅读全文
posted @ 2014-01-25 15:40 asi24 阅读(317) 评论(0) 推荐(0) 编辑

Sqlite3错误码

摘要: #define SQLITE_OK 0 /* 成功 | Successful result *//* 错误码开始 */#define SQLITE_ERROR 1 /* SQL错误 或 丢失数据库 | SQL error or missing database */#define SQLITE_INTERNAL 2 /* SQLite 内部逻辑错误 | Internal logic error in SQLite */#define SQLITE_PERM 3 /* 拒绝访问 | Access permission de... 阅读全文
posted @ 2013-07-20 18:16 asi24 阅读(302) 评论(0) 推荐(0) 编辑

android ListView性能优化之路 -- 高级

摘要: 依然回到这个图片来,加载这么一个列表项,用到的数据信息:缩略图(url),标题(string),星级(float),文件大小(long),下载次数(long),按钮图标(int_id),按钮提示(string)。优化高级:数据缓存级优化其实,在初级优化的时候,基本优化是使用视图模板缓存,是google实现并提倡的。缓存,使用较小的内存代价换取大量的重复运算开销。缩略图缓存,基本是每一个好项目应有基础的技术或者功能,减少加载时间和效率,减少流量。图片基本是不会变更的,只要加载一次,便可以重复使用。这里就不着重讲了。基础数据缓存,当很多数据需要重复转换,并且转换效率不理想时,也许,你曾不屑于注意的 阅读全文
posted @ 2013-07-17 22:56 asi24 阅读(533) 评论(0) 推荐(0) 编辑

android ListView性能优化之路 -- 中级

摘要: 这是一个典型的ListView,当然,不是那种demo级的简单布局。优化中级:自身布局级优化界面布局:系统在绘制一个界面的时候,需要知道知道各个元素之间的关系,所以有onMeasure(),一个简单的界面,在高手和初学者手里能表现出巨大的性能差距。简单的例子就是上图的按钮,可以只用一个TextView来实现,也可以用一个Layout+ImageView+TextView来实现,性能可想而知。ListView(包括像GridView),自身有着很强的定制性和适应性。它的布局相对于普通的View更为重要。ListView自身,尽可能的用FillParent,因为ListView绘制的时候,如果不知 阅读全文
posted @ 2013-06-07 21:13 asi24 阅读(470) 评论(0) 推荐(0) 编辑

android ListView性能优化之路 -- 初级

摘要: 这是一个典型的ListView,当然,不是那种demo级的简单布局。优化初级:系统机制级优化界面缓存机制:不管是ios,还是android,都要考虑到巨型数据的情况,比如ListView的Item过万的情况,然后不管一个itemview的布局有多简单,这个界面的内存将巨大无比,即使内存能到较快速的释放,当列表快速滑动的时候,也将巨卡无比,怎么样更少的使用内存,更快的界面绘制,这个是系统级的事情,当然这是google要考虑的:界面缓存。 /** 系统请求ItemView**/ @Override public View getView(int position, View... 阅读全文
posted @ 2013-06-07 20:45 asi24 阅读(416) 评论(0) 推荐(0) 编辑

tcp长连接+后台service+异步socket实例

摘要: 总结一下后台服务编程,以及socket实现是一些注意事项。1,service的生命周期://startService() 启动Service其生命周期为context.startService() ->onCreate()- >onStart()->Service running-->context... 阅读全文
posted @ 2013-06-05 18:27 asi24 阅读(12069) 评论(1) 推荐(0) 编辑