中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

activity 的view 回收

發布時間:2020-07-05 01:29:09 來源:網絡 閱讀:1275 作者:吳細福 欄目:開發技術

疑問一:android程序運行機制是怎樣的?該看那些數來了解?
疑問二:如題:比如我的一個布局文件中有兩個button,然后在onCreate中聲明了兩個引用變量指向這兩個button,并注冊監聽器響應用戶動作。我所疑惑的是在方法里定義的變量不是隨著方法的結束而銷毀的嗎?就像以上的兩個指向button的變量,那onCreate后變量不存在了還如何來監聽用戶動作? 還有就是activity在經歷了oncreate,onstart,onresume方法后是處于一種什么樣的狀態?我的猜測是就是處在一種監聽用戶動作的狀態了,但就像上面提到的方法內定義變量的疑惑那樣,我認為界面上的組件(如button)不是應該定義為activity的成員變量才能成立才好理解嗎?
望賜教!


activity  的view 回收

我覺得Activity創建好以后,其所對應的XML布局文件會在內存中建立好視圖樹對象層次結構(在內存的堆區);而在onCreate方法中使用 findViewById 方法,獲得的是堆區中視圖控件對象的指針。當onCreate方法結束后,只是銷毀了onCreate方法內部定義的局部變量(棧區內存),并沒有銷毀堆區的內存,所以,視圖控件仍然可以點擊,并做出事件響應。(即activity對象堆區在oncreate()方法后就有成員變量view,該view的生命周期是跟隨activity對象的不是隨著oncreate()方法的)


oncreate中有個方法叫setContentView,每一個Activity都會加載一個視圖,就是說有一個成員變量View,setContentView(View),就是給這個成員變量賦值,所以說oncreate里面定義的兩個button雖說是局部變量,同時也是VIew這個成員變量的屬性,Button btn = this.findViewById();這里用this來findView,說明button已經存在于activity中,btn這個局部變量是成員變量View通過Id找出來的,而不是new 出來的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深圳市| 萨嘎县| 察雅县| 江西省| 广灵县| 河西区| 曲松县| 读书| 无锡市| 略阳县| 泗阳县| 顺平县| 友谊县| 天津市| 黄大仙区| 凤山县| 阿拉尔市| 灵山县| 绍兴市| 广昌县| 东乡县| 孝感市| 通山县| 金寨县| 牙克石市| 股票| 犍为县| 江山市| 德令哈市| 凯里市| 仙居县| 彭泽县| 锡林浩特市| 三门峡市| 秀山| 千阳县| 饶平县| 永修县| 梁山县| 陕西省| 梅河口市|