日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

[android网络有效性检测] NetworkMonitor代码造成内存泄漏

發(fā)布時(shí)間:2024/6/21 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [android网络有效性检测] NetworkMonitor代码造成内存泄漏 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

造成內(nèi)存泄漏的log如下:

E StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.

E StrictMode: java.lang.Throwable: Explicit termination method 'end' not called

……

E StrictMode: ???????? at com.android.server.connectivity.NetworkMonitor.isCaptivePortalExt(NetworkMonitor.java:1026)

?

NetworkMonitor.java原來(lái)的代碼如下,根據(jù)這段代碼的意圖,是想要獲得請(qǐng)求的用時(shí),然后通過(guò)一個(gè)名為 android.net.conn.NETWORK_CONDITIONS_MEASURED的廣播發(fā)送出去。Key值為 extra_request_timestamp_ms 和extra_response_timestamp_ms(如果有的話)。

為什么會(huì)造成內(nèi)存泄漏?

我發(fā)現(xiàn)該問(wèn)題發(fā)生的場(chǎng)景是在我使用弱網(wǎng)絡(luò)環(huán)境下,比如使用中國(guó)移動(dòng)gprs上網(wǎng)這個(gè)時(shí)候會(huì)造成請(qǐng)求時(shí)間比較長(zhǎng),剛好如果有其他應(yīng)用(比如Google music等)也在頻繁的驗(yàn)證網(wǎng)絡(luò)的連通性,并且機(jī)器的運(yùn)存小的情況下就會(huì)造成內(nèi)存資源泄露。

?

修改后如下:

獲取InputStream對(duì)象,然后在適當(dāng)?shù)臅r(shí)候關(guān)閉,其實(shí)is.close()是可以放到

httpResponseCode = urlConnection.getResponseCode()之前的。

(版權(quán)所有,轉(zhuǎn)載請(qǐng)告知)

轉(zhuǎn)載于:https://www.cnblogs.com/claruarius/p/5774388.html

總結(jié)

以上是生活随笔為你收集整理的[android网络有效性检测] NetworkMonitor代码造成内存泄漏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。