这个问题可以由Handler的一个子类HandlerThread来解决。程序参考自Mars老师的Android课程第一季第十五集。代码以及注释有所改动,如下:packagecom.handler.androidhandler02; importandroid.app.Activity; importandroid.os.Bundle; importandroid.os.Handler; importandroid.os.HandlerThread; importandroid.os.Looper; importandroid.os.Message; publicclassFirstActivi Read More
假设这里有同一个Runnable对象r。可能采用的方法有:第一种:handler.post(r);实际上这种方法并没有调用线程someThread的start方法,而是直接调用了Runaable中的run方法。这里的调用和activity同步,当run运行时acitvity将会被阻塞,如果run中的内容比较耗时,那么对于用户来说activity的呈现就是界面不动,如死机一般,给用户体验相当糟糕,所以得想办法改进。第二种:采用标准的java线程调用方法。Thread t = new Thread(r);t.start();这种方法与第一种方法等效,与activity同步,同样地,可能产生用户体验 Read More