我的Handler 是这样的 new Handler(Looper.getMainLooper());
现在我有10个以上的ImageView,这10个view都是用的new Handler(Looper.getMainLooper())
现在这10个ImageView要同时更新背景图片,我全都用handler去postDelay一个Runnbale
在run里面更新 图片 ,现在的图片是一张张的更新的,
如果我想要10张图片一起换,达到10张图片像是在同一时间换的效果,
我是不是应该在new Thread().start(); 里面去创建这些handler,
这样的话能不能达到效果
现在我有10个以上的ImageView,这10个view都是用的new Handler(Looper.getMainLooper())
现在这10个ImageView要同时更新背景图片,我全都用handler去postDelay一个Runnbale
在run里面更新 图片 ,现在的图片是一张张的更新的,
如果我想要10张图片一起换,达到10张图片像是在同一时间换的效果,
我是不是应该在new Thread().start(); 里面去创建这些handler,
这样的话能不能达到效果
------------------------------------------------------------------------------------------------------
>> 界面更新这种操作是运行在UI线程的,并不是你的Handler写得越多,就有10个线程,它和并行没有一毛钱关系。
实际上,你通过handler去postDelay一个Runnbale,只是给UI线程的消息循环发了一个消息而已。10个Handler,那就是给UI线程的消息循环发了10个消息,UI线程它只是一个线程,并不能为你带来多线程的效果,因此,你所看到的结果就是一个一个的更新。
------------------------------------------------------------------------------------------------------
如果我想要10张图片一起换,达到10张图片像是在同一时间换的效果,
>> 只要你的更新图片的效率足够好,看上去就是同时更新的。如果你的效率太差,那就是你所你见到的,一张张的更新。另外,你可以提前先把10张图都准备好,一次更新即可。