日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

静态注册BroadcastReceiver的注销问题

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 静态注册BroadcastReceiver的注销问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[寫在前面:距離上次發布有關技術的文章已經整整一年了,人也奔三了,NBA季后賽也開打了,朋友都當爹當媽了,我也該回歸了。是的,it's time! ]

?

???? Android和OPhone是什么,我想我不需要再花什么時間去介紹了,跟著3G的潮流,這些名詞已經變得炙手可熱。Michael(Perhaps is my nickname. )也開始關注起Android/OPhone上的開發了。如果您也和我一樣剛剛投身于這個領域,您可以參考園子里兩位牛人寫的系列文章,感謝他們的辛勤勞動和熱心分享!

???? 1、Android開發之旅?by 吳秦

???? 2、深入Android系列 by Venus神廟?

???? BroadcastReceiver是一個用于監聽應用程序運行環境變化,并且對變化事件作出響應的組件。譬如說,當電池電量低、SD卡拔插或者手機啟動完畢等等事件發生的時候,系統都會廣播相應的事件,那么,我們在應用程序中就可以利用BroadcastReceiver對這些事件進行監聽,并且執行onReceive方法作出相應的處理。

我們可以通過兩種方式注冊BroadcastReceiver,一是在Activity啟動過程中通過代碼動態注冊,二是在AndroidManifest.xml文件中利用<receiver>標簽進行靜態注冊。對于第一種方法,我們需要養成一個良好的習慣:在Activity進入停止或者銷毀狀態的時候使用unregisterReceiver方法將注冊的BroadcastReceiver注銷掉。基于此,我們很自然就會想,如果通過第二種方法注冊的BroadcastReceiver,是否需要通過代碼進行注銷呢?基于這個問題,Michael在OPhoneSDN上提出這個疑問。

???? 最后,Michael還是從Android的源代碼中找到了這樣的注釋:If this BroadcastReceiver was launched through a <receiver> tag, then the object is no longer alive after returning from this function. This means you should not perform any operations that return a result to you asynchronously. 這段文字告訴我們:如果通過<receiver>標簽來注冊的BroadcastReceiver,那么該對象的實例在onReceive被調用之后就會在任意時間內被銷毀。也就是說,我們并需要擔心靜態注冊的BroadcastReceiver的銷毀問題。

???? 雖然,這個過程貌似有點枉費心機,但是,Michael還找到了如何將Android源碼添加到IDE中,以便在開發過程中瀏覽,同時還用上了很cool的版本控制軟件——Git。昨晚的兜兜轉轉實際上收獲頗豐,開心ing......

?

轉載于:https://www.cnblogs.com/perhaps/archive/2010/04/17/1714230.html

總結

以上是生活随笔為你收集整理的静态注册BroadcastReceiver的注销问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。