跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 Thread 里创建对象的问题
未分類
29 12 月 2020

关于 Thread 里创建对象的问题

关于 Thread 里创建对象的问题

資深大佬 : QBugHunter 0

有这样一个对象

class CustomObject{     private DeviceInfo deviceInfo;  //这个 DeviceInfo 是一个自定义对象     public CustomObject(){         deviceInfo = new DeviceInfo();     } };  class PrintDevice{     private static CustomObject customObj;  //静态对象,会在子线程中创建     public PrintDevice(){     Thread MyThread = new Thread() {             public void run() {                 customObj =  new CustomObject();             }         };         MyThread.start();     } }; 

对于这种情况下,CustomObject 会在一个 Thread 里生成,假如 APP 被强杀,或者关闭,那 CustomObject 的类成员 DeviceInfo,在 APP 再次启动时任然保留着内存中的机率有多大?能否保证 DeviceInfo 对象肯定会在 APP 消失时一起消失?

大佬有話說 (9)

  • 資深大佬 : aijam

    > 能否保证 DeviceInfo 对象肯定会在 APP 消失时一起消失?
    能

  • 資深大佬 : sm1314

    APP 被强杀 所有线程都 gg 了

  • 主 資深大佬 : QBugHunter

    @aijam

    @sm1314

    那假如这个线程是在某个 Activity 上启动的,这个 Activity 被杀了,但 APP 还在,那 deviceInfo 是否还有可能在内存中?

  • 資深大佬 : aijam

    @QBugHunter 有

  • 資深大佬 : ChenFanlin

    只要 application 重新启动了 就是新的**进程**, 老的对象自然就是没了

  • 資深大佬 : crclz

    进程是由操作系统管理。
    你的进程不管是优雅地退出,还是暴力地退出,
    你这个进程的所有(操作系统分配的)资源都会优雅地释放。

  • 資深大佬 : zzy619

    首先,理解一下进程、线程的概念,其次 customObj 是 static 的,和 Activity 被杀也没关系

  • 資深大佬 : nthhdy

    @QBugHunter 对象都是 java 的虚拟机管理的。虚拟机退出时会释放资源,这个对象(无论哪个线程)就没了,和 Activity 没有直接关系。
    我理解 Activity 不存在“杀掉”,只有响应各种事件,在不同的状态之间切换。如果安卓系统发现这个 Activity 已经不再使用了,可能会把它回收掉,接下来有可能导致 app 退出(比如 app 只有这唯一一个 Activity 时),然后 java 虚拟机退出、释放资源,这时你所有对象就都没了。Activity 也有可能又从后台重新成为用户焦点,此时 app 是一直在的,java 虚拟机没有退出,对象就一直在内在中保留着。

  • 資深大佬 : zhgg0

    如果 customObj 在,deviceInfo 就在。customObj 在不在跟创建它的 Thread 无关。由于 customObj 是 static 的,application 不重建,customObj 就在,application 重建了,customObj 就没了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具