讲师回答 / nate
ViewRootImpl是在onResume方法中创建的,oncreate方法中都没有创建这个,多看几遍视频,你就能理解了,最好查看一下android的源码
2015-01-19
最赞回答 / Jannina
// "Can't create handler inside thread that has not called Looper.prepare()"// //查看源码抛出这个异常,在主线程的时候可以直接new Handler(),是因为activity创建时候已经调用prepare等等// //使得looper有对象// //而在这个子线程中构造方法中获得looper为空,所以抛异常,因此子线程中创建必要要有lo...
2015-01-11
最赞回答 / 清灵绛珠
想当于某一类功能比较耗时的处理并且这些操作分布在各个线程中,又需要互斥处理,全部丢到HandlerThreadr的线程处理,这可避免添加很多互斥变量。(直接使用普通Thread处理也类似)如果不耗时, 可以丢至主线程处理即可。C++中,没有这种机制,一般通过加锁实现多线程的互斥。
2015-01-11
最新回答 / FlareMars
你首先确定自己在SDK Manager中下载了AndroidSDK的源码,如果下载了之后,就可以在\sdk\sources文件夹中看到相应平台的源码文件夹。如果你看到这些文件夹后,你就可以进入ide,随便CTRL+鼠标左键一个类或者方法,它会自动跳转一个界面,一般情况下他都是说没有找到源码什么的,然后你就可以收到Attach到你刚刚下载的那些源码文件夹,设置好之后就OK啦
2015-01-10