首页 > 其他 > 详细

后台进程弹Toast的几种方案

时间:2014-06-16 08:23:03      阅读:1389      评论:0      收藏:0      [点我收藏+]

在后台进程弹Toast,使用方案有:由UI线程传入一个Activity參数、View參数或者Handler參数,使用Activity.runOnUiThread(Runnable)View.post(Runnable)或者Handler.sendMessage()的方法。

这样做有可能引发内存泄露。避免内存泄露的方案,使用Handler.post()和Handler.obtainMessage().sendToTarget():

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
new Thread(){
@Override
public void run(){
// Looper.prepare();
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),"test1",Toast.LENGTH_SHORT).show();
}
});
}
}.start();

new Thread(){
@Override
public void run(){
// Looper.prepare();
new Handler(Looper.getMainLooper()){
@Override
public void handleMessage(Message msg){
Toast.makeText(getApplicationContext(),"test2",Toast.LENGTH_SHORT).show();
}
}.obtainMessage().sendToTarget();
}
}.start();
来自CODE的代码片
snippet_file_0.txt

后台进程弹Toast的几种方案,布布扣,bubuko.com

后台进程弹Toast的几种方案

原文:http://www.cnblogs.com/mengfanrong/p/3783732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!