欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在Android中實(shí)現(xiàn)列表動(dòng)圖展示-創(chuàng)新互聯(lián)

本篇文章為大家展示了怎么在Android中實(shí)現(xiàn)列表動(dòng)圖展示,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),霍城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:霍城等地區(qū)?;舫亲鼍W(wǎng)站價(jià)格咨詢:028-86922220

首頁

假設(shè)下面的“首頁”“、”關(guān)注”、“消息”、“我”4個(gè)tab都有動(dòng)圖,當(dāng)我們點(diǎn)擊其他頁面時(shí),當(dāng)前頁被隱藏,而根據(jù)Fresco的官方文檔Fresco中文官方文檔通常只有當(dāng)SimpleDrawView被移出屏幕才會(huì)停止播放動(dòng)畫(我在測試中發(fā)現(xiàn)通常Activity生命周期級(jí)別的也會(huì)觸發(fā)),所以當(dāng)tab頁隱藏時(shí)動(dòng)圖依舊在被渲染,所以我們需要控制動(dòng)圖的停止和播放,只有當(dāng)前頁展示時(shí),才播放動(dòng)圖:

Animatable animatable = mSimpleDraweeView.getController().getAnimatable();
    if (animatable != null) {
      animatable.start();
       // later
      animatable.stop();
     }

只在可見區(qū)域展示

當(dāng)我們做列表動(dòng)圖的時(shí)候,無論控件是listview還是recyclerview,數(shù)據(jù)和item的綁定都會(huì)在屏幕外綁定,而此時(shí)站在性能優(yōu)化的角度上,是不需要渲染動(dòng)圖的;當(dāng)動(dòng)圖滑動(dòng)在列表邊界的時(shí)候,是不是說明用戶的焦點(diǎn)已經(jīng)不在這張圖上了,所以此時(shí)可以提前在動(dòng)圖滑出屏幕外之前停止動(dòng)圖播放(在項(xiàng)目中我與產(chǎn)品商定動(dòng)圖播放和停止的邊界值定為圖片的1/2,也就是說圖片滑入屏幕自身長度1/2的時(shí)候播放動(dòng)圖,滑出屏幕自身長度1/2的時(shí)候停止播放);當(dāng)快速滑動(dòng)的時(shí)候也應(yīng)當(dāng)停止動(dòng)圖渲染(平時(shí)加載靜圖可能不需要在意,但是在android老手機(jī)上加載很多動(dòng)圖會(huì)使得cpu和內(nèi)存大幅度浮動(dòng))。

也就是說當(dāng)列表在做數(shù)據(jù)綁定的時(shí)候我們應(yīng)當(dāng)先去加載圖片但并不渲染動(dòng)圖,動(dòng)圖播放和停止唯一的判斷標(biāo)準(zhǔn)是滑入滑出屏幕的長度,如果是快速滑動(dòng)則無視第二個(gè)規(guī)則直接停止所有的動(dòng)圖。

上面的第二、第三個(gè)處理會(huì)有些許的代碼量,而且重點(diǎn)是時(shí)機(jī)的判斷不是動(dòng)圖的處理,這里著重講策略,代碼就略過了。對(duì)于第一個(gè)處理,F(xiàn)resco本身是支持的:

DraweeController controller = Fresco.newDraweeControllerBuilder()
    .setUri(uri)
     .setAutoPlayAnimations(false)
      . // 其他設(shè)置(如果有的話)
      .build();

setAutoPlayAnimations即表示是否在加載完成之后立即播放動(dòng)圖,這里設(shè)置為false即可,滑入播放調(diào)用上一張圖的方法就行了。可是還有一種情況,動(dòng)圖在我們滑入的時(shí)候還沒有加載完成,那么我們就可以設(shè)置一個(gè)標(biāo)示來表示是否播放,因?yàn)镾impleDrwaView是可以拿到動(dòng)圖加載的回調(diào)的:

 ControllerListener controllerListener = new BaseControllerListener<ImageInfo>() {
 @Override
 public void onFinalImageSet(
  String id,
  @Nullable ImageInfo imageInfo,
  @Nullable Animatable anim) {
  if (anim != null && tag == BEGAIN) {
   // 其他控制邏輯
   anim.start();
  }
 }
};

滑入屏幕時(shí),就把tag 置為BEGAIN,滑出再置空就行了,并且這里我們不用擔(dān)心重復(fù)播放和停止的問題,這里的anim對(duì)象其實(shí)是AnimatedDrawble2對(duì)象,而該對(duì)象在start和stop的時(shí)候都對(duì)狀態(tài)進(jìn)行了判斷。

圖片的規(guī)格尺寸

規(guī)格

相較于傳統(tǒng)的gif,同質(zhì)量的webp體積更小,更能節(jié)省存儲(chǔ)空間,但是在解碼上webp更為耗時(shí),所以能用webp盡量用webp,實(shí)在還是卡再考慮用gif。

幀率

目前調(diào)研發(fā)現(xiàn)的動(dòng)圖幀率一般是10幀或者20幀,幀率不要太高了,不然會(huì)加大cpu的占用率,其實(shí)如果Fresco的使用方式?jīng)]出問題,內(nèi)存的問題Fresco已經(jīng)幫你搞定了,其他的優(yōu)化主要是針對(duì)cpu占用率優(yōu)化的。在項(xiàng)目中我們加載的動(dòng)圖最后采用的是20幀(模仿騰訊謀產(chǎn)品的策略,最好控制在10幀其實(shí),這款騰訊的產(chǎn)品在一頁上展示的動(dòng)圖明顯比其他同類型產(chǎn)品展示的數(shù)量少)。

大小

動(dòng)圖的大小也會(huì)影響解碼耗時(shí),在手機(jī)端可以使用小圖,在項(xiàng)目中,我們手機(jī)端的動(dòng)圖最多在200kb左右。

在實(shí)際的開發(fā)中,可能因?yàn)闃I(yè)務(wù)的關(guān)系,上述的策略不能保證全部都做到,這里時(shí)候就得根據(jù)業(yè)務(wù)形態(tài)做對(duì)應(yīng)的取舍,這里可能是一個(gè)長久優(yōu)化的過程,畢竟這種新的動(dòng)圖封面設(shè)計(jì)以前都沒有遇到過。

上述內(nèi)容就是怎么在Android中實(shí)現(xiàn)列表動(dòng)圖展示,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前文章:怎么在Android中實(shí)現(xiàn)列表動(dòng)圖展示-創(chuàng)新互聯(lián)
標(biāo)題URL:http://chinadenli.net/article38/jgdsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站內(nèi)鏈、微信公眾號(hào)、軟件開發(fā)、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司

廣告

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

小程序開發(fā)
精品人妻一区二区三区四区久久| 99久久精品国产日本| 亚洲精品蜜桃在线观看| 欧洲一区二区三区自拍天堂| 字幕日本欧美一区二区| 中文字幕乱码亚洲三区| 国产99久久精品果冻传媒| 亚洲男人的天堂色偷偷| 国产精品尹人香蕉综合网| 欧美性欧美一区二区三区| 一区二区三区四区亚洲另类| 日本加勒比不卡二三四区| 日韩国产欧美中文字幕| 久久精品视频就在久久| 国产女同精品一区二区| 久草精品视频精品视频精品| 尹人大香蕉中文在线播放| 丰满人妻一二三区av| 尤物天堂av一区二区| 亚洲一区在线观看蜜桃| 午夜久久精品福利视频| 亚洲香艳网久久五月婷婷| 女生更色还是男生更色| 日韩三极片在线免费播放| 国产又粗又爽又猛又黄的 | 国产99久久精品果冻传媒| 九九热精品视频在线观看| 国产成人精品视频一区二区三区| 又大又长又粗又黄国产| 老司机精品线观看86| 黄色国产一区二区三区| 黄片在线观看一区二区三区| 亚洲精品国产精品日韩| 高清不卡一卡二卡区在线| 国产日韩欧美国产欧美日韩 | 99香蕉精品视频国产版| 五月婷婷综合缴情六月| 黄色国产自拍在线观看| 国内真实露脸偷拍视频| 日韩18一区二区三区| 国产亚洲视频香蕉一区|