我的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,
 这样的话能不能达到效果

解决方案 »

  1.   

    首先,你要注意一下你的结帖率:14.29%。如果别人看到这么低的结帖率,也懒得回答你的问题。你懂的。
    ------------------------------------------------------------------------------------------------------
    >> 界面更新这种操作是运行在UI线程的,并不是你的Handler写得越多,就有10个线程,它和并行没有一毛钱关系。
    实际上,你通过handler去postDelay一个Runnbale,只是给UI线程的消息循环发了一个消息而已。10个Handler,那就是给UI线程的消息循环发了10个消息,UI线程它只是一个线程,并不能为你带来多线程的效果,因此,你所看到的结果就是一个一个的更新。
    ------------------------------------------------------------------------------------------------------
    如果我想要10张图片一起换,达到10张图片像是在同一时间换的效果,
    >> 只要你的更新图片的效率足够好,看上去就是同时更新的。如果你的效率太差,那就是你所你见到的,一张张的更新。另外,你可以提前先把10张图都准备好,一次更新即可。