android thread new完赋值之后,使用的时候怎么就变成了null

又重名了 2016-02-15 04:57:19
一个activity里定义了thread并赋值,调用的时候是有值的。关闭这个activity的时候,我把thread设置为了null。同时把标示设置为false。

当我第二次进入这个界面,重新定义了一个thread,并赋值,调用的时候就变成了null。明明给他赋值了为什么为null 。而且有时候会这样,有时候又不会。给我的感觉是它又调用了上次我设置为null的那个thread,和内存情理方式有关。请问这个问题我该如何处理呢?
...全文
375 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
又重名了 2016-02-22
  • 打赏
  • 举报
回复
queryRealtimeTrack(); 是设置了一个监听器,在监听器里进行判断thread
又重名了 2016-02-22
  • 打赏
  • 举报
回复
这个是判断的时候。 if (null == refreshThread || !refreshThread.refresh) { return; 这个是thread类 public class RefreshThread extends Thread { protected boolean refresh = true; @Override public void run() { while (refresh) { queryRealtimeTrack(); try { Thread.sleep(packInterval * 1000); } catch (InterruptedException e) { System.out.println("线程休眠失败"); } } } }
又重名了 2016-02-22
  • 打赏
  • 举报
回复
protected void startRefreshThread(boolean isStart) { if (null == refreshThread) { Log.i("trace", "new thread"); refreshThread = new RefreshThread(); } refreshThread.refresh = isStart; if (isStart) { if (!refreshThread.isAlive()) { try{ refreshThread.start(); } catch(Exception e){} } } else { refreshThread = null; } } 这是初始化的代码。
绯红女王 2016-02-17
  • 打赏
  • 举报
回复
贴代码,看看你是怎么初始化的

80,355

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧