当前位置:网站首页>关于Android Service服务的面试题
关于Android Service服务的面试题
2022-08-11 06:44:00 【是小A】
距离上一次面试的已经过去两个月了,想起来面试的题目,想给大家分享一下,希望大家能用到。
1.Service的onCreate回调函数可以做耗时的操作吗?
不可以
Service的onCreate是在主线程(ActivityThread)中调用的,耗时操作会阻塞UI
如果需要做耗时的操作—— 线程和Handler方式
2. 是否知道IntentService,在什么场景下使用IntentService?
IntentService相比父类Service而言,最大特点是其回调函数onHandleIntent中可以直接进行耗时操作,不必再开线程
原理:
IntentService的成员变量 Handler在初始化时已属于工作线程,之后handleMessage,包括onHandleIntent等函数都运行在工作线程中
如果对IntentService的了解仅限于此,会有种IntentService很鸡肋的观点,因为在Service中开线程进行耗时操作也不麻烦
IntentService特点:
就是多次调用onHandleIntent函数(也就是有多个耗时任务要执行),多个耗时任务会按顺序依次执行
原理是其内置的Handler关联了任务队列,Handler通过looper取任务执行是顺序执行的
这个特点就能解决多个耗时任务需要顺序依次执行的问题。而如果仅用service,开多个线程去执行耗时操作,就很难管理
边栏推荐
猜你喜欢
随机推荐
常见激活函数及其导数
C语言每日一练——Day02:求最小公倍数(3种方法)
Unity3D 学习路线?
微信小程序功能上新(2022.06.01~2022.08.04)
Daily SQL - find each of the students school gpa minimum (window)
ROS 服务通信理论模型
Pytorch模型转ONNX模型
Redis测试
从 dpdk-20.11 移植 intel E810 百 G 网卡 pmd 驱动到 dpdk-16.04 中
Implement general-purpose, high-performance sorting and quicksort optimizations
淘宝商品详情API接口
为什么我使用C#操作MySQL进行中文查询失败
基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现
如何选择专业、安全、高性能的远程控制软件
Pinduoduo API interface (attach my available API)
JVM学习——3——数据一致性
How Unity programmers can improve their abilities
每日sql - 判断+聚合
每日sql:求好友申请通过率
Daily sql-seek the sum of successful investments in 2016