Android中使用Service的几点注意

(1) service 是运行在主线程中的,所以一个非常耗时间的操作(比如下载)会阻塞主线程(即UI线程)。可以通过在 service 中创建一个单独的线程来解决这个问题。


(2) service 是会被系统杀死的。系统觉得内存不足的话,就可能会杀掉你的 service。如果你的service绑定着一个正在与用户交互的组件(比如activity),那么系统就不会优先杀掉这个service。


(3) 为了提高你的App的安全性,最好总是使用明确的意图(explicit intent)来启动或绑定你的 service 并且不要为这个 service 定义任何意图过滤器(intent filter)。如果你的service只是在你自己的程序内部使用,那么你可以将<service> 标签的android:exported 属性设置为"false",这样其他的程序就无法使用你的service了。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发Service是一个非常重要的组件,用于在后台执行长时间运行的操作,不与用户交互。以下是本次实验的总结: 1. Service生命周期 Service的生命周期包括:onCreate()、onStartCommand()、onBind()、onUnbind()、onRebind()和onDestroy()。开发者可以根据不同的业务需求实现这些生命周期函数。 2. Service的启动和停止 Service的启动和停止有两种方式:使用startService()和stopService()方法来启动和停止Service使用bindService()和unbindService()方法来绑定和解绑Service。需要注意的是,使用startService()方法启动的Service一直运行,直到调用stopService()方法或者Service自己调用stopSelf()方法;使用bindService()方法启动的Service在与之绑定的Activity销毁时自动停止。 3. Service的通信 Service可以和Activity之间进行通信,可以使用Intent传递数据,也可以使用Messenger进行通信。如果需要在Service执行耗时操作,需要在Service开启一个新的线程来执行,否则阻塞线程。 4. Service的注册 在AndroidManifest.xml文件注册Service,可以使用以下代码: ``` <service android:name=".MyService" /> ``` 5. Service注意事项 在使用Service时,需要注意以下几点: - Service是在线程运行的,不能在Service执行耗时操作,否则阻塞线程。 - Service一旦启动就一直运行,需要在适当的时候停止Service。 - Service可以和Activity之间进行通信,需要根据具体的业务需求选择合适的通信方式。 总之,ServiceAndroid开发非常重要的组件,掌握其使用方法和生命周期函数对于开发高质量的Android应用程序非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值