service和IntentService

IntentService会处理完成一个之后再处理第二个,每一个请求都会在一个单独的worker thread中处理,不会阻塞应用程序的主线程

http://blog.csdn.net/zhf198909/article/details/6906786 

IntentService onHandleIntent((Intent)msg.obj)中调用你的处理程序.处理完后即会停止自己的服务

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

 “客户端”如果想获得“服务器端”的“数据”,必须用AIDL,在Service端的onBind()中返回AIDL对象,在 客户端的onServiceConnected中获取这个返回的AIDL对象,然后就可以通过这个AIDL对象调用它的被实现了的抽象方法,通过这个抽象方法获取Service端的数据。

http://www.cnblogs.com/snowdrop/articles/2319686.html


Service有两种类型:

    1. 本地服务(Local Service):用于应用程序内部   (1.服务和activity之间没有调用交互 :通过startService和stopService启动关闭服务的 2.Activity 与 Service传递数据和调用接口,通过bindService(new Intent("com.easymorse.CountService"), this.serviceConnection, BIND_AUTO_CREATE)启动unbindService(serviceConnection)关闭)
    2. 远程服务(Remote Sercie):用于android系统内部的应用程序之间

 本地服务不支持onBind(),它从onBind()返回null,这种类型的服务只能由承载服务的应用程序组件访问。可以调用 startService()来调用本地服务。AIDL服务可以同时供 同一进程内的组件和其他应用程序的组件使用。这种类型的服务在AIDL 文件中为自身与其客户端定义一个契约。服务实现 AIDL契约,而客户端绑定到 AIDL定义。服务通过从 onBind()方法 返回AIDL接口的实现,来实现契约。客户端通过调用 bindService()来绑定到AIDL服务,并调用 unBindService()来从服务断开。  

http://marshal.easymorse.com/archives/1564

Widget List

RemoteViewsService

http://developer.android.com/reference/android/widget/RemoteViewsService.html

 

@Override
publicint onStartCommand(Intent intent,int flags,int startId){
    handleCommand
(intent);
   
// We want this service to continue running until it is explicitly
   
// stopped, so return sticky.

   
return START_STICKY;
}

使用Memory Analyzer tool(MAT)分析内存泄漏(二)

 http://www.blogjava.net/rosen/archive/2010/06/13/323522.html

理解Heap Profling名词-Shallow和Retained Sizes

http://kenwublog.com/understand-shallow-and-retained-size-in-hprofling

 

声明static变量,要充分考虑到对Object的“生命周期”影响

http://www.javatutorialhub.com/java-static-variable-methods.html

 

posted on 2013-07-18 20:08  anfflee  阅读(298)  评论(0编辑  收藏  举报

导航