[發(fā)明專利]一種基于Android的Handler防內(nèi)存泄漏裝置及方法在審
| 申請?zhí)枺?/td> | 201610929424.5 | 申請日: | 2016-10-31 |
| 公開(公告)號: | CN106598725A | 公開(公告)日: | 2017-04-26 |
| 發(fā)明(設(shè)計)人: | 張磊 | 申請(專利權(quán))人: | 武漢斗魚網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/54 |
| 代理公司: | 湖北武漢永嘉專利代理有限公司42102 | 代理人: | 王丹,許美紅 |
| 地址: | 430073 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 android handler 內(nèi)存 泄漏 裝置 方法 | ||
1.一種基于Android的Handler防內(nèi)存泄漏裝置,其特征在于:它包括:
異步Runnable請求接收模塊,用于接收異步任務(wù)的Runnable請求;
同步模塊,用于采用弱引用方法同步保存所有接收到的異步任務(wù)的Runnable請求;
異步請求執(zhí)行模塊,用于執(zhí)行異步任務(wù)的Runnable請求,判斷是否有消息要發(fā)送;
子線線程執(zhí)行結(jié)束模塊,用于在沒有消息要發(fā)送時,結(jié)束子線線程;
消息發(fā)送模塊,用于在有消息要發(fā)送時,發(fā)送消息及消息與異步線程的弱引用關(guān)系;
消息分發(fā)模塊,用于存儲消息及消息與異步線程的弱引用關(guān)系,并按照消息的時間順序發(fā)送給主線程處理。
2.根據(jù)權(quán)利要求1所述的一種基于Android的Handler防內(nèi)存泄漏裝置,其特征在于:所述的同步模塊中包含雙向鏈表,用于存儲所述的異步任務(wù)的Runnable請求。
3.根據(jù)權(quán)利要求1或2所述的一種基于Android的Handler防內(nèi)存泄漏裝置,其特征在于:所述的同步模塊中還存儲有線程的優(yōu)先級,用于按照優(yōu)先級移出異步任務(wù)的Runnable請求。
4.根據(jù)權(quán)利要求1或2所述的一種基于Android的Handler防內(nèi)存泄漏裝置,其特征在于:所述的同步模塊中包括有鎖模塊,用于實(shí)現(xiàn)同步保存;鎖模塊包括:
鎖獲取模塊,用于在接收到新的異步任務(wù)的Runnable請求時,獲取鎖的所有權(quán);
操作模塊,用于在獲取到鎖的所有權(quán)時對所述的新的異步任務(wù)的Runnable請求進(jìn)行存儲或移出操作;
鎖釋放模塊,用于在存儲或移出操作完成時,釋放鎖的所有權(quán)。
5.根據(jù)權(quán)利要求1所述的一種基于Android的Handler防內(nèi)存泄漏裝置,其特征在于:所述的消息包括及時消息和延時消息;
所述的消息分發(fā)模塊中設(shè)有消息隊(duì)列和定時器;所述的定時器用于定時,當(dāng)定時器超時后將延時消息發(fā)送到消息隊(duì)列中;所述的及時消息被直接放入消息隊(duì)列;所述的消息隊(duì)列用于按照消息進(jìn)入的先后順序有序的發(fā)送給主線程處理。
6.一種基于Android的Handler防內(nèi)存泄漏方法,其特征在于:它包括以下步驟:
接收異步任務(wù)的Runnable請求;
采用弱引用方法同步保存所有接收到的異步任務(wù)的Runnable請求;
執(zhí)行異步任務(wù)的Runnable請求,判斷是否有消息要發(fā)送;
在沒有消息要發(fā)送時,結(jié)束子線線程;
在有消息要發(fā)送時,發(fā)送消息及消息與異步線程的弱引用關(guān)系;
存儲消息及消息與異步線程的弱引用關(guān)系,并按照消息的時間順序發(fā)送給主線程處理。
7.根據(jù)權(quán)利要求1所述的一種基于Android的Handler防內(nèi)存泄漏方法,其特征在于:采用雙向鏈表的方式存儲所述的異步任務(wù)的Runnable請求。
8.根據(jù)權(quán)利要求6或7所述的一種基于Android的Handler防內(nèi)存泄漏方法,其特征在于:存儲所述的異步任務(wù)的Runnable請求后,按照優(yōu)先級移出異步任務(wù)的Runnable請求。
9.根據(jù)權(quán)利要求6或7所述的一種基于Android的Handler防內(nèi)存泄漏方法,其特征在于:實(shí)現(xiàn)同步保存的具體方式為:
在接收到新的異步任務(wù)的Runnable請求時,獲取鎖的所有權(quán);
在獲取到鎖的所有權(quán)時對所述的新的異步任務(wù)的Runnable請求進(jìn)行存儲或移出操作;
在存儲或移出操作完成時,釋放鎖的所有權(quán)。
10.根據(jù)權(quán)利要求6所述的一種基于Android的Handler防內(nèi)存泄漏方法,其特征在于:所述的消息包括及時消息和延時消息;
本方法中設(shè)有消息隊(duì)列和定時器;當(dāng)定時器超時后將延時消息發(fā)送到消息隊(duì)列中;所述的及時消息被直接放入消息隊(duì)列;消息隊(duì)列按照消息進(jìn)入的先后順序有序的發(fā)送給主線程處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢斗魚網(wǎng)絡(luò)科技有限公司,未經(jīng)武漢斗魚網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610929424.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種Android設(shè)備之間遠(yuǎn)程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機(jī)啟動時間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動操作系統(tǒng)的Android兼容層實(shí)現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置





