Android拾掇

1、Activity,Service生命周期

http://blog.csdn.net/agods/article/details/7468431

service与Thread的区别

http://blog.csdn.net/jiangwei0910410003/article/details/17008687

2、Activity与Service进行通信的方法

http://www.cnblogs.com/ruiati/archive/2013/10/20/3379380.html

http://segmentfault.com/a/1190000002400391

3、Looper实现原理 

http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html

4、Andriod如何处理UI与耗时操作的通信,有哪些方式及各自的优缺点

http://blog.csdn.net/mylzc/article/details/6784415

http://blog.csdn.net/onlyonecoder/article/details/8484200

runOnUiThread原理 

http://ask.csdn.net/questions/159

5、IntentService讲解 

http://android.blog.51cto.com/268543/528166/

http://blog.csdn.net/flowingflying/article/details/7616333

6、AIDL使用

http://blog.csdn.net/stonecao/article/details/6425019

http://blog.csdn.net/liuhe688/article/details/6400385

提供了一个关于AIDL使用的简单易懂的例子,分为客户端和服务端两部分,分别为客户端和服务端新建一个eclipse工程,实现了从客户端向服务端发送请求,服务端打印log的功能。

http://blog.csdn.net/huanxido/article/details/6373181

Android Service学习之AIDL, Parcelable和远程服务

http://android.blog.51cto.com/268543/537684/

7、ContentProvider/ContentResolver

http://www.2cto.com/kf/201404/296974.html

http://blog.csdn.net/gaomatrix/article/details/6216845

http://blog.csdn.net/gaomatrix/article/details/6216880

ContentProvider实现数据共享 (讲的好)

http://blog.csdn.net/faith_boys/article/details/8917395

Android提供了ContentProvider,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且ContentProviders是以类似数据库中表的方式将数据暴露,也就是说ContentProvider就像一个“数据库”。
那么外界获取其提供的数据,也就应该与从数据库中获取数据的操作基本一样,只不过是采用URI来表示外界需要访问的“数据库”。
外部访问通过ContentResolver去访问并操作这些被暴露的数据。

8、ListView的优化

http://www.2cto.com/kf/201508/434563.html

http://www.2cto.com/kf/201108/101092.html

9、SQLiteOpenHelper

http://www.tuicool.com/articles/neEz2qr

10、Activity的启动模式

http://www.cnblogs.com/meizixiong/archive/2013/07/03/3170591.html

http://www.cnblogs.com/lwbqqyumidi/p/3771542.html

11、与Activity和Task有关的Intent启动方法

12、Activity中的configChanges属性

参考 http://www.cnblogs.com/charley_yang/archive/2011/04/17/2018940.html

a、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

b、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

c、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

13、BroadCastReceiver 

Broadcast是一种广泛运用的在应用程序之间传输信息的机制

http://www.cnblogs.com/jico/articles/1838293.html

http://blog.csdn.net/flowingflying/article/details/29863871

http://blog.csdn.net/liuhe688/article/details/6955668/

14、Android http服务 

http://blog.csdn.net/liuhe688/article/details/6425225

15.Fragment生命周期

http://www.cnblogs.com/purediy/p/3276545.html

http://www.cnblogs.com/mybkn/articles/2455142.html

onCreate()与onCreateView()的不同:

http://blog.csdn.net/loovejava/article/details/37765993

16.Android进程间通信 

先研究java 的RMI

http://lavasoft.blog.51cto.com/62575/91679/

http://www.blogjava.net/zhenyu33154/articles/320245.html

再研究android的进程通信机制

Messager 

http://my.oschina.net/u/262208/blog/378249

http://blog.csdn.net/birdsaction/article/details/39451849

其它通信方式如Binder ,AIDL

http://blog.csdn.net/wqmain/article/details/18264245

http://blog.csdn.net/victory08/article/details/8696252

http://www.jb51.net/article/37797.htm

http://blog.csdn.net/luoshengyang/article/details/6618363

      官方文档特别提醒我们何时使用AIDL是必要的:只有你允许客户端从不同的应用程序为了进程间的通信而去访问你的service,以及想在你的service处理多线程。
  如果不需要进行不同应用程序间的并发通信(IPC),you should create your interface by implementing a Binder;或者你想进行IPC,但不需要处理多线程的,则implement your interface using a Messenger。无论如何,在使用AIDL前,必须要理解如何绑定service——bindService。

17.raw与asset文件的不同

http://www.cnblogs.com/lijunamneg/archive/2013/07/12/3187247.html

http://blog.csdn.net/leichelle/article/details/7884052

18.嵌入式操作系统内存管理 

页式,段式,段页,MMU,虚拟空间等

http://www.embeddedlinux.org.cn/html/yingjianqudong/201310/09-2632.html

19.JNI

参考自己的

http://www.cnblogs.com/chuiyuan/p/4616585.html

使用JNI的流程

(1)在工程下建一个JNI目录,目录 下建立一 个Android.mk文件(可以在ndk中复制)

(2)在java文件中建立 需要的native本地方法。

(3)在工程的bin/classes目录下用javah生成头文件。

(4)将头文件复制到JNI目录下,再建立一个".c"文件,在这个文件中实现头文件中对应的的方法。

(5)编译链接库,并在java程序中加载库文件并执行。

20.android动画相关

注意去动画设置的地方最好是在onResume()中,这里Activity已经可见。

http://www.tuicool.com/articles/bARfAv

简单了解 

http://www.tuicool.com/articles/NNfUFv

Tween动画讲解 (里面还有自定义控件)

http://blog.csdn.net/feng88724/article/details/6318430

Frame动画 

http://blog.csdn.net/liuhe688/article/details/6657776

动画坐标定义 

http://blog.csdn.net/to_cm/article/details/7857617

21.android自定义控制 

http://www.cnblogs.com/0616--ataozhijia/p/4003380.html

http://my.oschina.net/wangjunhe/blog/99764

22.android LaouyInfalter

http://www.cnblogs.com/shitianzeng/articles/2323427.html

在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。 具体作用:

1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;

2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。

23.dp 与dx的转换

http://blog.csdn.net/arui319/article/details/6777133

http://www.cnblogs.com/bluestorm/p/3640786.html

原文地址:https://www.cnblogs.com/chuiyuan/p/4744384.html