android service 性能优化浅见

Android四大组件相信大家都已经很熟悉了,但是在运用的时候很可能只是去关注怎么用能实现功能,而并没有去研究怎么才能更好的更有效率的使用。
在此小女子就分享一下我在使用Service的过程中优化的方法。
一般使用方式:
StartService - StopService两个函数配对使用,启动和停止服务。
context.startService() ->onCreate()- >onStart()->Service running
context.stopService() ->onDestroy() ->Service stop
这个接口应该算比较正统的创建和启动Service的接口。
BindService - UnbindService两个函数配对使用,  
context.bindService() -> onBind()->Servic bind
context.unbindService() -> onUnbind()->Service unbind ->onDestory()
这两个接口更接近于在Service和调用者之间建立一个桥梁的作用,一般来说是把调用者绑定到一个已存在的服务上而且一般是需要持久的连接。
创建过程和绑定过程下面给大家两个外部连接作参考,我在此就不再赘述了:
http://blog.csdn.net/luoshengyang/article/details/6677029
http://blog.csdn.net/luoshengyang/article/details/6745181
1.什么是Service
Service类的继承关系如下:
Service -> ContextWrapper -> Context {ContextWrapper仅仅是对Context的一个包装,}
接口声明:Context.java
接口实现:ContextImpl.java
Context从含义来说更像是Windows编程中的handle,他是一个service或者一个activity的唯一标示。
应用的context的数量是service的数量加上activity的数量加一(Application的主context)。
Activity以及Service的context可以理解成和应用context之间的纽带和桥梁。
2.调用时候的可优化点:
为耗时的Service启动一个或者多个Thread来在后台执行,这样对现在大部分手机来说可以充分用到多核的优化。
尽量减少Activity消失后Service仍在后台运行的情况,如果必须运行无比在后台运行完成之后销毁Service。严重鄙视一直在后台运行的Service!!!更加鄙视一下还想要干掉手机助手防止其干掉自己的service的人~~!(亲,你这是要跟别人作对么)。
使用系统提供的封装好的服务类,少自己写服务类。
使用onLowMemory()来灵活处理低内存时候的情况。
使用dump来监控此Service出现异常时的状态和调用栈。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值