真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android中文文檔,Android中文

eclipse android開發(fā) 添加中文的幫助文檔

你用google瀏覽器打開你的android幫助文檔(android-sdk-windows/docs/resources/index.html)

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)東源免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

瀏覽器上方會有提示問你要不要翻譯。你選擇簡體中文就OK了。

Android Architecture(中文官方文檔)——MVVM、DataBinding、Lifecycle、Room、LiveData

官方文檔地址:

Android Architecture推薦使用MVVM架構(gòu):

其中,文檔中特別提到了:

簡單來說, 并不是 說MVVM就是最好的結(jié)構(gòu),而是好的架構(gòu)必須滿足以下兩點:

個人理解只是換了種說法,實質(zhì)上和之前的MVC、MVP架構(gòu)一樣,最終目標還是為了滿足 程序設(shè)計六大原則 。一個好的結(jié)構(gòu)設(shè)計,必然是 低耦合、高內(nèi)聚、易于測試和維護 的。不管是MVC,MVP還是MVVM,其目標都是一致的。

請問做 Android 開發(fā)的大神們 你們開發(fā)時看的文檔api是中文的還是英文的?我英文不好怎么辦

開發(fā)的時候也就看看接口文檔,但接口文檔都是公司內(nèi)部而且都是中文的。

如果要查詢Android的方法之類的,百度都有中文文檔。

有的時候下載其他人代碼來用,那沒準就是英文的了,只能借助百度翻譯吧,不過現(xiàn)在主流框架都有中文文檔和使用介紹的,英文不好并不影響開發(fā)。

Android技術(shù)分享|Android 中部分內(nèi)存泄漏示例及解決方案

內(nèi)存泄漏:

舉例:

請注意以下的例子是虛構(gòu)的

內(nèi)存抖動

源自Android文檔中的 Memory churn 一詞,中文翻譯為內(nèi)存抖動。

指快速頻繁的創(chuàng)建對象從而產(chǎn)生的性能問題。

引用Android文檔原文:

Java內(nèi)存泄漏的根本原因是 長生命周期 的對象持有 短生命周期 對象的引用就很可能發(fā)生內(nèi)存泄漏。

盡管短生命周期對象已經(jīng)不再需要,但因為長生命周期依舊持有它的引用,故不能被回收而導致內(nèi)存泄漏。

靜態(tài)集合類引起的內(nèi)存泄漏

如果僅僅釋放引用本身(tO = null), ArrayList 依然在引用該對象,GC無法回收。

監(jiān)聽器

在Java應用中,通常會用到很多監(jiān)聽器,一般通過 addXXXXListener() 實現(xiàn)。但釋放對象時通常會忘記刪除監(jiān)聽器,從而增加內(nèi)存泄漏的風險。

各種連接

如數(shù)據(jù)庫連接、網(wǎng)絡(luò)連接(Socket)和I/O連接。忘記顯式調(diào)用 close() 方法引起的內(nèi)存泄漏。

內(nèi)部類和外部模塊的引用

內(nèi)部類的引用是很容易被遺忘的一種,一旦沒有釋放可能會導致一系列后續(xù)對象無法釋放。此外還要小心外部模塊不經(jīng)意的引用,內(nèi)部類是否提供相應的操作去除外部引用。

單例模式

由于單例的靜態(tài)特性,使其生命周期與應用的生命周期一樣長,一旦使用不恰當極易造成內(nèi)存泄漏。如果單利持有外部引用,需要注意提供釋放方式,否則當外部對象無法被正?;厥諘r,會進而導致內(nèi)存泄漏。

集合類泄漏

如集合的使用范圍超過邏輯代碼的范圍,需要格外注意刪除機制是否完善可靠。比如由靜態(tài)屬性 static 指向的集合。

單利泄漏

以下為簡單邏輯代碼,只為舉例說明內(nèi)存泄漏問題,不保證單利模式的可靠性。

AppManager 創(chuàng)建時需要傳入一個 Context ,這個 Context 的生命周期長短至關(guān)重要。

1. 如果傳入的是 Application 的 Context ,因為 Application 的生命周期等同于應用的生命周期,所以沒有任何問題。

2. 如果傳入的是 Activity 的 Context ,則需要考慮這個 Activity 是否在整個生命周期都不會被回收了,如果不是,則會造成內(nèi)存泄漏。

非靜態(tài)內(nèi)部類創(chuàng)建靜態(tài)實例造成的內(nèi)存泄漏

應該將該內(nèi)部類單獨封裝為一個單例來使用。

匿名內(nèi)部類/異步線程

Runnable都使用了匿名內(nèi)部類,將持有MyActivity的引用。如果任務(wù)在Activity銷毀前未完成,將導致Activity的內(nèi)存無法被回收,從而造成內(nèi)存泄漏。

解決方法:將Runnable獨立出來或使用靜態(tài)內(nèi)部類,可以避免因持有外部對象導致的內(nèi)存泄漏。

Handler造成的內(nèi)存泄漏

Handler屬于TLS(Thread Local Storage)變量,生命周期與Activity是不一致的,容易導致持有的對象無法正確被釋放

當Android應用程序啟動時,該應用程序的主線程會自動創(chuàng)建一個Looper對象和與之關(guān)聯(lián)的MessageQueue。

當主線程中實例化一個Handler對象后,它就會自動與主線程Looper的MessageQueue關(guān)聯(lián)起來。所有發(fā)送到MessageQueue的Messag都會持有Handler的引用,所以Looper會據(jù)此回調(diào)Handle的handleMessage()方法來處理消息。只要MessageQueue中有未處理的Message,Looper就會不斷的從中取出并交給Handler處理。

另外,主線程的Looper對象會伴隨該應用程序的整個生命周期。

在Java中,非靜態(tài)內(nèi)部類和匿名類內(nèi)部類都會潛在持有它們所屬的外部類的引用,但是靜態(tài)內(nèi)部類卻不會。

當該 Activity 被 finish() 掉時,延遲執(zhí)行任務(wù)的 Message 還會繼續(xù)存在于主線程中,它持有該 Activity 的 Handler 引用,所以此時 finish() 掉的 Activity 就不會被回收了從而造成內(nèi)存泄漏(因 Handler 為非靜態(tài)內(nèi)部類,它會持有外部類的引用,在這里就是指 SampleActivity)。

避免不必要的靜態(tài)成員變量

對于BroadcastReceiver、ContentObserver、File、Cursor、Stream、Bitmap等資源的使用,應在Activity銷毀前及時關(guān)閉或注銷。

不使用WebView對象時,應調(diào)用`destroy()`方法銷毀。


網(wǎng)站標題:android中文文檔,Android中文
本文網(wǎng)址:http://weahome.cn/article/dsgeoig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部