欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

android總結(jié),android方法大全

Android總結(jié)之Activity

GUI,界面,與用戶交互的可視接口。

站在用戶的角度思考問題,與客戶深入溝通,找到涿州網(wǎng)站設(shè)計(jì)與涿州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋涿州地區(qū)。

當(dāng)然Fragment,View也是,不過我把它看作是控件,Activity是開發(fā)中最基本的容器(窗口)。

目的是便于管理Activity生命周期。

新啟動(dòng)的Activity會(huì)壓入棧頂,而處于棧頂?shù)腁ctivty處于Active活躍狀態(tài),即可以和用戶做交互(可見可交互)。壓在下面的Activity則處于可見不可交互,或不可見不可交互狀態(tài),并且系統(tǒng)可能會(huì)因?yàn)閮?nèi)存不足原因優(yōu)先回收掉任務(wù)棧最下面的Activity,所以也有被回收狀態(tài)。

1.資源相關(guān)的系統(tǒng)配置發(fā)生改變導(dǎo)致Activty被殺死并重新創(chuàng)建

2.資源內(nèi)存不足導(dǎo)致低優(yōu)先級(jí)的Activity被殺死

擴(kuò)展:進(jìn)程優(yōu)先級(jí)

當(dāng)Activity異常被回收的情況下,系統(tǒng)會(huì)調(diào)用onSaveIntanceState(Bundle),重新啟動(dòng)時(shí)會(huì)調(diào)用onRestoreInstanceState(Bundle),所以可以在Bundle做一些數(shù)據(jù)保存和恢復(fù)的工作。

數(shù)據(jù)恢復(fù):onCreate()與onRestoreInstanceState()區(qū)別:

onCreate()需要判空,onRestoreInstanceState不需要。

啟動(dòng)模式簡(jiǎn)單來說就是定義Activity實(shí)例與Activity任務(wù)棧的關(guān)聯(lián)方式。

目的:

設(shè)置方式:

有哪些啟動(dòng)模式?

TaskAffinity(任務(wù)相關(guān)性),這個(gè)參數(shù)標(biāo)識(shí)了一個(gè)Activity所需要的任務(wù)棧的名字,默認(rèn)情況下,所有Activity所需的任務(wù)棧的名字為應(yīng)用的名字。所有我們可以通過設(shè)置TaskAffinity為每個(gè)Activity單獨(dú)指定任務(wù)棧。

啟動(dòng)Activity就兩種,顯示調(diào)用和隱式調(diào)用。

即在Intent中,顯示傳入要跳轉(zhuǎn)的組件類名。這種方式比較簡(jiǎn)單直接,但也造成了關(guān)聯(lián)耦合。

這樣調(diào)用方式的好處是我不必知道我的目標(biāo)組件具體的名字,只要有組件滿足我設(shè)置的過濾條件即可找到我想要的組件。這種方式廣泛應(yīng)用在模塊化開發(fā),解決了模塊之間的跳轉(zhuǎn)問題。

隱式調(diào)用需要Intent能夠匹配目標(biāo)組件的IntentFilter中設(shè)置的過濾信息,如果不匹配將無法啟動(dòng)目標(biāo)組件。IntentFilter中的過濾信息包括action、category、data

清單文件中,如果data僅指定了mimeType,沒有指定URI,則data中URI的scheme的默認(rèn)值為file和content,所以Intent中URI的scheme也必須為file或content才能匹配到。

類似URI的結(jié)構(gòu),就是匹配URI的。

URI結(jié)果: scheme://host:port/[path|pathPrefix|pathPattern]

使用PackageManager的兩種方法判空。

第二個(gè)flag參數(shù)使用MATCH_DEFAULT_ONLY時(shí),表示僅僅匹配那些在intent-filter中聲明了android.intent.category.DEFAULT這個(gè)category的組件。

Android性能優(yōu)化總結(jié)

常用的Android性能優(yōu)化方法:

一、布局優(yōu)化:

1)盡量減少布局文件的層級(jí)。

層級(jí)少了,繪制的工作量也就少了,性能自然提高。

2)布局重用 include標(biāo)簽

3)按需加載:使用ViewStub,它繼承自View,一種輕量級(jí)控件,本身不參與任何的布局和繪制過程。他的layout參數(shù)里添加一個(gè)替換的布局文件,當(dāng)它通過setVisibility或者inflate方法加載后,它就會(huì)被內(nèi)部布局替換掉。

二、繪制優(yōu)化:

基于onDraw會(huì)被調(diào)用多次,該方法內(nèi)要避免兩類操作:

1)創(chuàng)建新的局部對(duì)象,導(dǎo)致大量垃圾對(duì)象的產(chǎn)生,從而導(dǎo)致頻繁的gc,降低程序的執(zhí)行效率。

2)不要做耗時(shí)操作,搶CPU時(shí)間片,造成繪制很卡不流暢。

三、內(nèi)存泄漏優(yōu)化:

1)靜態(tài)變量導(dǎo)致內(nèi)存泄漏 ? 比較明顯

2)單例模式導(dǎo)致的內(nèi)存泄漏?單例無法被垃圾回收,它持有的任何對(duì)象的引用都會(huì)導(dǎo)致該對(duì)象不會(huì)被gc。

3)屬性動(dòng)畫導(dǎo)致內(nèi)存泄漏 ?無限循環(huán)動(dòng)畫,在activity中播放,但是onDestroy時(shí)沒有停止的話,動(dòng)畫會(huì)一直播放下去,view被動(dòng)畫持有,activity又被view持有,導(dǎo)致activity無法被回收。

四、響應(yīng)速度優(yōu)化:

1)避免在主線程做耗時(shí)操作 包括四大組件,因?yàn)樗拇蠼M件都是運(yùn)行在主線程的。

2)把一些創(chuàng)建大量對(duì)象等的初始化工作放在頁(yè)面回到前臺(tái)之后,而不應(yīng)該放到創(chuàng)建的時(shí)候。

五、ListView的優(yōu)化:

1)使用convertView,走listView子View回收的一套:RecycleBin 機(jī)制

主要是維護(hù)了兩個(gè)數(shù)組,一個(gè)是mActiveViews,當(dāng)前可見的view,一個(gè)是mScrapViews,當(dāng)前不可見的view。當(dāng)觸摸ListView并向上滑動(dòng)時(shí),ListView上部的一些OnScreen的View位置上移,并移除了ListView的屏幕范圍,此時(shí)這些OnScreen的View就變得不可見了,不可見的View叫做OffScreen的View,即這些View已經(jīng)不在屏幕可見范圍內(nèi)了,也可以叫做ScrapView,Scrap表示廢棄的意思,ScrapView的意思是這些OffScreen的View不再處于可以交互的Active狀態(tài)了。ListView會(huì)把那些ScrapView(即OffScreen的View)刪除,這樣就不用繪制這些本來就不可見的View了,同時(shí),ListView會(huì)把這些刪除的ScrapView放入到RecycleBin中存起來,就像把暫時(shí)無用的資源放到回收站一樣。

當(dāng)ListView的底部需要顯示新的View的時(shí)候,會(huì)從RecycleBin中取出一個(gè)ScrapView,將其作為convertView參數(shù)傳遞給Adapter的getView方法,從而達(dá)到View復(fù)用的目的,這樣就不必在Adapter的getView方法中執(zhí)行LayoutInflater.inflate()方法了。

RecycleBin中有兩個(gè)重要的View數(shù)組,分別是mActiveViews和mScrapViews。這兩個(gè)數(shù)組中所存儲(chǔ)的View都是用來復(fù)用的,只不過mActiveViews中存儲(chǔ)的是OnScreen的View,這些View很有可能被直接復(fù)用;而mScrapViews中存儲(chǔ)的是OffScreen的View,這些View主要是用來間接復(fù)用的。

2)使用ViewHolder避免重復(fù)地findViewById

3)快速滑動(dòng)不適合做大量異步任務(wù),結(jié)合滑動(dòng)監(jiān)聽,等滑動(dòng)結(jié)束之后加載當(dāng)前顯示在屏幕范圍的內(nèi)容。

4)getView中避免做耗時(shí)操作,主要針對(duì)圖片:ImageLoader來處理(原理:三級(jí)緩存)

5)對(duì)于一個(gè)列表,如果刷新數(shù)據(jù)只是某一個(gè)item的數(shù)據(jù),可以使用局部刷新,在列表數(shù)據(jù)量比較大的情況下,節(jié)省不少性能開銷。

六、Bitmap優(yōu)化:

1)減少內(nèi)存開支:圖片過大,超過控件需要的大小的情況下,不要直接加載原圖,而是對(duì)圖片進(jìn)行尺寸壓縮,方式是BitmapFactroy.Options 采樣,inSampleSize 轉(zhuǎn)成需要的尺寸的圖片。

2)減少流量開銷:對(duì)圖片進(jìn)行質(zhì)量壓縮,再上傳服務(wù)器。圖片有三種存在形式:硬盤上時(shí)是file,網(wǎng)絡(luò)傳輸時(shí)是stream,內(nèi)存中是stream或bitmap,所謂的質(zhì)量壓縮,它其實(shí)只能實(shí)現(xiàn)對(duì)file的影響,你可以把一個(gè)file轉(zhuǎn)成bitmap再轉(zhuǎn)成file,或者直接將一個(gè)bitmap轉(zhuǎn)成file時(shí),這個(gè)最終的file是被壓縮過的,但是中間的bitmap并沒有被壓縮。bitmap.compress(Bitmap.CompressFormat.PNG,100,bos);

七、線程優(yōu)化:

使用線程池。為什么要用線程池?

1、從“為每個(gè)任務(wù)分配一個(gè)線程”轉(zhuǎn)換到“在線程池中執(zhí)行任務(wù)”

2、通過重用現(xiàn)有的線程而不是創(chuàng)建新線程,可以處理多個(gè)請(qǐng)求在創(chuàng)建銷毀過程中產(chǎn)生的巨大開銷

3、當(dāng)使用線程池時(shí),在請(qǐng)求到來時(shí)間 ,不用等待系統(tǒng)重新創(chuàng)建新的線程,而是直接復(fù)用線程池中的線程,這樣可以提高響應(yīng)性。

4、通過和適當(dāng)調(diào)整線程池的大小 ,可以創(chuàng)建足夠多的線程以使處理器能夠保持忙碌狀態(tài),同時(shí)還可以防止過多線程相互競(jìng)爭(zhēng)資源而使應(yīng)用程序耗盡內(nèi)存或者失敗。

5、一個(gè)App里面所有的任務(wù)都放在線程池中執(zhí)行后,可以統(tǒng)一管理 ,當(dāng)應(yīng)用退出時(shí),可以把程序中所有的線程統(tǒng)一關(guān)閉,避免了內(nèi)存和CPU的消耗。

6、如果這個(gè)任務(wù)是一個(gè)循環(huán)調(diào)度任務(wù),你則必須在這個(gè)界面onDetach方法把這個(gè)任務(wù)給cancel掉,如果是一個(gè)普通任務(wù)則可cancel,可不cancel,但是最好cancel

7、整個(gè)APP的總開關(guān)會(huì)在應(yīng)用退出的時(shí)間把整個(gè)線程池全部關(guān)閉。

八、一些性能優(yōu)化建議:

1)避免創(chuàng)建過多對(duì)象,造成頻繁的gc

2)不要過多使用枚舉,枚舉占用的空間比整型大很多

3)字符串的拼接使用StringBuffer、StringBuilder來替代直接使用String,因?yàn)槭褂肧tring會(huì)創(chuàng)建多個(gè)String對(duì)象,參考第一條。

4)適當(dāng)使用軟引用,(弱引用就不太推薦了)

5)使用內(nèi)存緩存和磁盤緩存。

Android分享實(shí)現(xiàn)總結(jié)

1.調(diào)用系統(tǒng)的分享功能

2.通過第三方SDK,如ShareSDK,友盟等

3.自行使用各自平臺(tái)的SDK,比如QQ,微信,微博各自的SDK

本文只是關(guān)于如何實(shí)現(xiàn)Android系統(tǒng)分享,并非第三方SDK實(shí)現(xiàn)方法

Android開發(fā)時(shí)通過startActivity發(fā)送action為Intent.ACTION_SEND的Intent即很容易就可以實(shí)現(xiàn)系統(tǒng)分享功能,舉個(gè)簡(jiǎn)單例子看看:

從例子中,可以發(fā)現(xiàn)實(shí)現(xiàn)系統(tǒng)分享主要由三部分Action、Extras和Type組成。首先將Intent的cation設(shè)置為Intent.ACTION_SEND,其次根據(jù)分享的內(nèi)容設(shè)置不同的Type,然后根據(jù)不同的社交平臺(tái)設(shè)置相關(guān)Extras,最后將Intent發(fā)送出去即可完成系統(tǒng)分享。

1.如何將自己的應(yīng)用能夠顯示在系統(tǒng)分享的應(yīng)用選擇框中?

根據(jù)以上介紹,我們可以在應(yīng)用清單文件中使用intent-filter來完成;

2.如何監(jiān)聽在應(yīng)用選擇框中,選擇了那個(gè)應(yīng)用?

需要采用BroadcastReceiver來實(shí)現(xiàn):(該方法在部分手機(jī)上可以實(shí)現(xiàn),并且需要API Level大于等于22)

3.如何為制定應(yīng)用設(shè)置分享type?

4.如何只顯示指定的應(yīng)用?

五、Android繪制知識(shí)總結(jié)(Xfermode和硬件加速)

Xfermode表示圖層的混合模式,用于描述兩個(gè)圖層之間進(jìn)行融合時(shí),像素點(diǎn)進(jìn)行計(jì)算的規(guī)則。

在API16之前,Xfermode有3個(gè)子類:AvoidXfermode、PixelXorXfermode、PorterDuffXfermode。但在API16以后,前兩個(gè)已經(jīng)過時(shí),甚至從源碼里移除,所以我們只需學(xué)習(xí) PorterDuffXfermode 即可。

PorterDuffXfermode 最早是在1984年由Porter和Duff兩人發(fā)表的論文《Compositing Digital Images》中出現(xiàn),所以該混合模式也根據(jù)作者來命名。

PorterDuffXfermode 構(gòu)造函數(shù)需要指定一個(gè) PorterDuff.Mode ,而PorterDuff.Mode在以下地方都會(huì)涉及:

它提供18種模式可選項(xiàng):

各種模式下的效果如下圖所示:

這里可以發(fā)現(xiàn),兩種效果是不一樣的,谷歌官方給的是第一種,但是,通常情況應(yīng)該是第二種,具體原因可 參考該文章 。比如我們畫一個(gè)矩形,應(yīng)該按第二種效果來考慮,因?yàn)樵磮D和目標(biāo)圖大小不一致;如果畫相同大小的Bitmap,則按第一種做。

在實(shí)際應(yīng)用中,我們可以從以下三個(gè)方面來決定使用哪種模式:

1、沒有硬件加速:

invalidate the view hierarchy ------ draw the view hierarchy

2、有硬件加速:

invalidate the view hierarchy ------ record and update the display list ------ draw the display list

1、繪制不正確:可能使用了不支持硬件加速的操作, 需要關(guān)閉硬件加速或者繞過該操作

2、拋出異常:可能使用了不支持硬件加速的操作, 需要關(guān)閉硬件加速或者繞過該操作

在Android系統(tǒng)中,有4個(gè)不同級(jí)別的打開或者關(guān)閉硬件加速操作:

1、Application級(jí)別:

application android:hardwareAccelerated="false"

默認(rèn)為true,用于控制這個(gè)app是否開啟硬件加速。

2、Activity級(jí)別:

activity android:hardwareAccelerated="false"

3、Window級(jí)別:(只支持開啟操作)

getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

4、View級(jí)別:(只支持關(guān)閉操作)

view.setLayerType(View.LAYER_TYPE_HARDWARE, null);

LAYER_TYPE_HARDWARE ,使用硬件加速(GPU)進(jìn)行繪制

LAYER_TYPE_SOFTWARE ,使用CPU進(jìn)行繪制

或者布局文件中,指定以下屬性:

android:layerType="software"

1、view.isHardwareAccelerated()

如果返回true,表示view掛在一個(gè)開啟了硬件加速的Window之下,也就意味著,它在繪制時(shí),并不一定開啟了硬件加速。

2、canvas.isHardwareAccelerated()

如果返回true,因?yàn)橹鴆anvas在繪制的時(shí)候啟用了硬件加速,盡量采用此方法來判斷是否開啟了硬件加速。

分享文章:android總結(jié),android方法大全
文章位置:http://m.kartarina.com/article44/dsesghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站ChatGPT全網(wǎng)營(yíng)銷推廣電子商務(wù)網(wǎng)站策劃軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
欧美一区二区三区四区久久| 国产一区二区三区美女| 成人sese在线| 欧美在线一区二区三区| 国产欧美视频一区二区| 久久99久久久欧美国产| 日韩一级高清毛片| 久久精品噜噜噜成人av农村| 国产精品进线69影院| 成人免费毛片a| 国产精品久久久久久久久图文区| 欧美精品日韩精品| 精油按摩中文字幕久久| 国产日产欧美一区| 日韩欧美国产一区在线观看| 激情都市一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 久久99深爱久久99精品| 日本va欧美va瓶| 国产视频一区在线播放| 成人免费观看视频| 国产精品系列在线观看| 一区二区三区成人在线视频| 欧美视频一区在线观看| 麻豆成人免费电影| 中文字幕一区av| 欧美日韩成人综合在线一区二区| 奇米影视在线99精品| 亚洲第一狼人社区| 中文字幕乱码一区二区免费| 在线观看亚洲精品视频| 91福利资源站| 国产精品中文字幕一区二区三区| 男女男精品视频| 精品影视av免费| 国产福利一区二区三区视频| 日韩 欧美一区二区三区| 国产偷国产偷亚洲高清人白洁| 欧美va亚洲va在线观看蝴蝶网| 国产不卡高清在线观看视频| 一区二区三区四区在线播放| 亚洲日本电影在线| 2022国产精品视频| 欧美日精品一区视频| 韩日av一区二区| 国产一区二区久久| 本田岬高潮一区二区三区| 免费观看在线综合色| 久久国产精品99精品国产| 激情综合亚洲精品| 成人激情黄色小说| 欧美日韩亚洲综合| 久久综合色8888| 中文字幕一区二区三区乱码在线| 亚洲在线观看免费视频| 久久精品人人做人人爽人人| 欧美国产精品劲爆| 一区二区三区鲁丝不卡| 日本午夜精品一区二区三区电影| 精品一区二区日韩| 91蜜桃在线观看| 成人性生交大片免费看视频在线| 99久久久国产精品| 粉嫩欧美一区二区三区高清影视| 成人av网址在线观看| 欧美久久久一区| 中文av一区二区| 国产欧美精品国产国产专区 | 欧美日韩激情一区| 久久噜噜亚洲综合| 欧美精品一区视频| 日韩欧美国产综合一区| 国产精品乱码一区二区三区软件| 婷婷夜色潮精品综合在线| 亚洲一二三四区不卡| 精品一区二区三区免费视频| 在线免费观看一区| 中文字幕第一页久久| 捆绑调教一区二区三区| 91国产视频在线观看| 久久久久国产精品厨房| 天堂一区二区在线| 免费成人美女在线观看| 99热在这里有精品免费| 精品国免费一区二区三区| 亚洲精品伦理在线| 亚洲国产精品人人做人人爽| 亚洲国产精品久久人人爱| 高清不卡在线观看| 日韩欧美国产wwwww| 一区二区三区精品在线观看| 国产1区2区3区精品美女| 日韩三级av在线播放| 亚洲国产一区二区视频| 一本色道久久综合精品竹菊| 一本久久a久久精品亚洲| 久久久久久99久久久精品网站| 日韩高清不卡一区二区| 欧美日韩专区在线| 亚洲综合成人网| 色国产精品一区在线观看| 中文字幕在线播放不卡一区| 丁香婷婷综合色啪| 国产女主播视频一区二区| 国内成人免费视频| 久久夜色精品国产噜噜av | 久久成人免费网| 欧美日韩亚洲不卡| 亚洲资源中文字幕| 一本一道久久a久久精品| 亚洲色图清纯唯美| 色狠狠综合天天综合综合| 亚洲视频图片小说| 91麻豆国产精品久久| 亚洲欧美aⅴ...| 日韩福利视频导航| 欧美电影一区二区三区| 日韩精品欧美精品| 日韩欧美亚洲国产精品字幕久久久| 日本不卡一二三区黄网| 91麻豆精品久久久久蜜臀| 日本一区二区久久| 成人免费看黄yyy456| 国产精品日韩精品欧美在线| 国产精品一区二区三区网站| 国产日韩精品一区二区三区 | 欧美日韩精品福利| 性欧美疯狂xxxxbbbb| 欧美日韩一区二区电影| 偷窥国产亚洲免费视频| 日韩视频一区二区在线观看| 狠狠色狠狠色合久久伊人| 国产日产欧产精品推荐色| av日韩在线网站| 亚洲妇女屁股眼交7| 日韩一区二区三| 国产精品一二一区| 成人欧美一区二区三区白人| 91久久精品午夜一区二区| 午夜久久福利影院| 26uuu另类欧美亚洲曰本| 成人一级视频在线观看| 亚洲综合免费观看高清在线观看| 91.xcao| 成人午夜精品在线| 性做久久久久久免费观看 | 国产亚洲1区2区3区| www.久久久久久久久| 亚洲线精品一区二区三区| 91精品国产一区二区三区香蕉| 国产综合久久久久久久久久久久| 欧美国产乱子伦| 欧美高清一级片在线| 国产麻豆日韩欧美久久| 一区二区三区免费| 久久婷婷国产综合国色天香 | 日韩精品中文字幕在线一区| 国产精品一区二区视频| 亚洲综合小说图片| ww久久中文字幕| 在线观看成人免费视频| 精品一区免费av| 一区二区三区.www| 久久新电视剧免费观看| 欧美色图一区二区三区| 国产一区二区在线免费观看| 亚洲欧美日韩久久| 精品av综合导航| 在线视频欧美精品| 国产精品亚洲人在线观看| 亚洲国产成人va在线观看天堂| 精品国产一区a| 欧美性一区二区| 成人免费视频caoporn| 日韩**一区毛片| 综合久久久久久| 久久亚洲春色中文字幕久久久| 在线视频综合导航| 粉嫩蜜臀av国产精品网站| 免费观看一级欧美片| 一区av在线播放| 中文字幕一区二区在线播放| 精品美女在线观看| 欧美日韩免费一区二区三区视频| 国产成人午夜精品影院观看视频 | 日韩一区二区电影在线| 91免费观看国产| 成人在线综合网站| 久久99精品久久久| 天堂久久久久va久久久久| 亚洲婷婷综合久久一本伊一区| 精品国产一区二区精华| 欧美精品高清视频| 在线一区二区视频| 91蜜桃网址入口| 99久久精品一区| 99久久国产综合精品女不卡| 丁香一区二区三区| 大白屁股一区二区视频| 国产一区91精品张津瑜|