android随记



1 activity生命周期

2 继承application类,类中得属性作为全局变量使用,其生命周期类似web中的application ,会一直在内存中,除非应用程序被关闭销毁

3 static final http://www.2cto.com/kf/201109/104884.html

4 gravity 和layout_gravity的区别 分别针对view和container对齐,分别是组件内部内容的对其方式和组件相对于外部容器的对其方式

KJLibrary默认对所有Http通信的数据做了缓存处理,缓存时间为5分钟。这么做的目的不仅是为了节省用户手机流量,同时是为了减少服务器压力

shrinkable 该列可以收缩 strechable该列可以拉伸


5 framlayout 先进后出 也叫堆栈布局


6 tablelayout  三个属性 collapsed 该列会被隐藏

是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;
7 图片轮播组件android-image-indicator

http://git.oschina.net/kymjs/KJFrameForAndroid

8、KJFrameForAndroid是一个帮助快速开发的框架。使用KJFrameForAndroid,你可以只用一行代码就完成http请求、网络图片加载、数据库数据保存或读取。

http://git.oschina.net/

绑定service生命周期:oncreate()->onBind()->service  bind---->onUnbind()->onDestory->service shut down

BitmapLibrary 最早是用软引用来缓存图片,android2.3之后google提出垃圾回收会更倾向于回收软引用或者弱引用的对象,故此软引用和弱引用变得不再可靠,3.0之后图片缓存放在内存中,但是这样就没有一种可预见的方式将其释放,BitmapLibrary使用LRU算法该列缓存内存缓存和磁盘缓存能更有效的管理缓存调用


HttpLibrary模块使用HttpClient与HttpUrlConnection两种实现方式实现网络通信、数据上传、多线程断点下载。根据Google建议:在2.3系统之前由于HttpUrlConnection不稳定且有一定的BUG,应该尽量使用HttpClient;在2.3以后的系统,若只是简单的数据交互,应该使用更加轻量级、易扩展的HttpUrlConnection。对于实现的方式,KJLibrary将交由开发者来选择。


9http://www.oschina.net/p/gifview gif图片显示

DBLibrary包含了android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。
DB模块,很大程度上参考了finalDB的设计,并在此基础上完善了几乎全部的API注释,与更多可定制的DB操作

10.Notifications  有标准通知和大通知和自定义通知 Notification.builder对象来设置通知的属性主题、内容、铃声等等,NotificationCompat是大通知对象  意图用的是PendingIntent这个是不可预知触发的意图 NotificationManager的对象调用notify(int id,builder.builder())对象开启通知

首先service不是线程他们没有任何关系,但是service中一般会有线程来处理耗时任务。然后会问activity为什么不直接用线程还用service呢?答案是service是不依赖activity的,其他的activity也可以来和service通信,但是指定activity指定的内部线程是不能被其他activity访问

service的生命周期(普通service生命周期和绑定services生命周期)

粘性service和非粘性service 内存低的时候
在onStartCommand方法中返回的int型,分别是Sevice.START_NOT_STICKY非粘性(不会创建) Service.START_STICKY粘性(会创建但是不会传意图) Service.START_REDELIVER_INTENT(会创建意图也会传)

11、service和线程的区别

通知进度条显示,就是使用builder.setProcess通过线程来循环notify指定的id的通知

service通过notification交互

RemoteViews设置自定义通知

如果需要和主线程进行交互的时候应该使用handler这样的线程,不需要交互的时候应该是用service

service和IntentService的区别:intentService里面有自带的线程,不需要像service一样去处理onStartCommand和onstop service,只需要处理onHandlerIntent  里面有个looper队列来保证intent在一个独立的线程中运行不会出现阻塞的状态,可以直接在onHandlerIntent中处理耗时操作

普通service生命周期:oncreate->onStartCommand()->servicerunning->onDestory()->service shut down






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。