android中 组件 和 线程 的关系 !!! 你说的有点晕...建议看一下什么是UI线程,android中UI线程是怎么回事。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1,你每创建一个组件,这个组件还是在UI线程中执行,不是创建新的线程2,至于为什么不在activity中做复杂的后台计算是为了避免ANR,其实即使在service中做,也是UI线程,虽然我没有做过实验,我想如果运行多了依然会出现ANR,3,为什么不用new thread 呢?因为android对UI的操作只允许在UI线程做,为了避免线程风险。或者说android压根从来就没有想过让开发者在其他线程操作UI,因为多线程的同步会影响效率 我的理解是service不在activity的共同进程内。这样创建service来计算的话,可以为activity省下更多的时间。而thread正好相反,它是activity所在进程的子部分,它会占用activity所在进程的资源,因而影响时间。 Android把主线程的looper给隐藏了,主线程负责分发消息的地方应该在application,组件都是在主线程里运行。但组件的一些函数可能运行在其它线程:如aidl中的函数。这些都是system偷偷实现的。一言难尽。 1.你要明确一点:service如果没有单独指定线程的话,那么和主activity是在同一个线程的,就是主线程,那么也不能够在这个service中做耗时操作,否则一定会中断退出。2.如果你的一个Thread没有调用start()方法,那么它还是和主activity在一个线程的,也不能做耗时操作,你可以去做下试验建议楼主还是去看看原理性的东西。 顺便请教楼上几位,我知道activity里面不做耗时的操作,倘若有一些设计到activity的比较耗时的UI更新操作,是不是要新开一个线程来完成?但是毕竟新开的线程不是主线程不能操作UI,这个时候是不是需要使用handler来完成UI的更新啊? Android的有哪些组件试运行在主线程中的? 真机无法连接PC服务器端 本人想把毕业设计课题定为《基于android的蓝牙聊天室设计与开发》 请问该如何下手? 关于进度条的问题 [求助]android中文本重定位 请问如何让某一行控件不滚出屏幕外? 关于android:ellipzise 关于SQLite 的DAO层设计问题 ,求大神指点下! 微视,美拍,搜狐视频,微信在屏幕中播放规则? 如何用软件检测 手机是否支持otg 有没有像小红书一样裁剪框demo,最好和国外instagram一样的 请教listview中放EditText的相关问题 android Bitmap
2,至于为什么不在activity中做复杂的后台计算是为了避免ANR,其实即使在service中做,也是UI线程,虽然我没有做过实验,我想如果运行多了依然会出现ANR,
3,为什么不用new thread 呢?因为android对UI的操作只允许在UI线程做,为了避免线程风险。或者说android压根从来就没有想过让开发者在其他线程操作UI,因为多线程的同步会影响效率
但组件的一些函数可能运行在其它线程:如aidl中的函数。这些都是system偷偷实现的。一言难尽。