看板 AndroidDev 關於我們 聯絡資訊
想要請問一下大家這個觀念 在網路上有看到程式碼是如此 public class A extends Activity { .......... B TB = new B(this,this.ServerSocket); TB.LoadPanel(); } 然而class B 裡面的建構子是 public B(Activity activity,Socket ServerSocket){ ..... } 這樣在android系統裡面的activity這個元件是會產生另外一個activity 還是說他是把原本的activity當做參數傳遞 所以只會有一個Activity呀? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.125.85.144
kewang:只會有一個activity 08/03 00:26
redseye:那所以那一個Activity的生死 就取決了整個app的存活了~? 08/03 00:33
LaPass:activity != app 08/03 00:35
redseye:應該說 取決整個App 顯示頁面的存活了? 08/03 00:35
redseye:抱歉 用詞有些不當 08/03 00:36
LaPass:所以問題不成立.... 可能要多弄懂一下android的機制 08/03 00:36
LaPass:是 08/03 00:36
LaPass:B那種狀況通常都是... 隸屬某個ACTIVITY下在用的 08/03 00:37
LaPass:所以ACTIVITY關了之後,也沒必要留 08/03 00:37
LaPass:但是你這邊有用到SOCKET,如果關閉ACTIVITY時沒呼叫CLOSE 08/03 00:38
LaPass:,那個b以及整個activity都會卡在那邊,不會被回收掉,要注 08/03 00:39
LaPass:意 08/03 00:39
redseye:原來如此 多謝解惑 08/03 00:42
jackzzkao:不會被回收掉的情形算是 memory leak 嗎? 08/03 01:48
LaPass:專有名詞我不懂啦~~ 反正socket、資料庫的連線、相機的調用 08/03 11:09
LaPass:那些東西如果在不用時,不去關閉他,就會一直卡在那邊,直 08/03 11:09
LaPass:到關機重開才能解決。 08/03 11:10
givemepass:其實可以用系統管理員 關閉 08/03 12:46
redseye:那如果我在class B裡面的function 生了一個thread 08/03 15:14
redseye:那會卡住嗎? 08/03 15:15