Android(Java):线程

本文探讨了在多线程环境中加载图片资源并缓存,同时确保UI更新正确执行的方法。通过实例展示了如何使用线程、软引用及消息处理器来避免内存泄漏,并保持UI响应性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

new Thread() {
   public void run() {
    Drawable drawable = loadImageFromUrl(imageUrl);
    imageCache.put(imageUrl, new SoftReference<Drawable>(drawable));
    Message message = handler.obtainMessage(0, drawable);
    handler.sendMessage(message);
   }
  }.start();

new Thread(new Runnable() {
     @Override
     public void run() {
      // TODO Auto-generated method stub
      int i = 59;
      while(i<=0){
       i--;
       Thread.sleep(1000);
      }
       }
    }).start();

 

线程不能操作UI

new Thread(){
     @Override
     public void run() {
      // TODO Auto-generated method stub
      try {
       int i = 59;
       while(i>=0){
        mHandler.sendEmptyMessage(i);
        i--;
        Thread.sleep(1000);
       }
      } catch (InterruptedException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }
    }.start();

private Handler mHandler = new Handler() {
  public void handleMessage(Message msg) {
   if(msg.what == 0){
    mBtnSend.setBackgroundResource(R.drawable.btn_send_selected);
    mBtnSend.setText(R.string.send);
    mBtnSend.setEnabled(true);
    return;
   }
   mBtnSend.setText(resend+msg.what+second);
  }
 };

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值