日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...

發布時間:2023/11/30 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近接手的一個android項目里面,有個viewpager+3個fragment的頁面,就是很常見的可以左右滑動切換頁面的那種布局。接手的時候告訴我,這個頁面有卡頓現象,性能需要優化。一開始覺得是fragment里面做了太多耗時操作的原因,后來居然搞了一天才搞完,算是踩了個坑,這里記錄下。

頁面滑動卡頓一般會想到在頁面滑動事件回調方法里是不是有什么耗時操作,比如加載圖片,讀取文件之類,但是排查之后都沒有類似的代碼邏輯。后來各種調試,才發現主要有兩個原因:

背景圖片的資源圖片文件要放到mipmap-xxxx文件夾下,或者放到drawable-xxxx文件夾下,不能直接放在drawable文件夾下

之前各種代碼邏輯排查未果之后,我就開始考慮是不是背景圖片設置的原因,因為這三個fragment都是設置了一個全屏的圖片背景。所設置的背景圖片都是1920x1080像素的jpg格式圖片,大小為208KB。我把背景圖片都去掉換成純色的背景,頁面立馬就變得非常流暢,一點掉幀都沒有了。

但是背景圖是肯定不能換掉的,所以我就在圖片大小上做文章,讓美工mm給換成了體積小點的圖片,但是后面我就算換成了15KB大小的背景圖,頁面卡還是卡。

后來還發現,就算把fragment的背景全部設置成透明,只把viewpager的背景設置成一張圖片背景,或者吧fragment和viewpager的背景都設置為透明,把activity的背景設置成圖片背景,都還是會使得頁面在滾動的時候掉幀。

所以這肯定不是背景圖片大小引發的問題。

后來終于在stackoverflow上找到了一種說法:drawable文件夾(后面不帶后綴的)下直接放圖片資源文件會引起頁面掉幀。我到自己項目里面一找,果然,背景圖片就是直接放在drawable文件夾下的。我把drawable下圖片資源全部拷貝到mipmap文件夾下,一跑,嗯,卡頓少了很多,勉強能看得過去了,但是還是能感覺到有些掉幀。

manifests清單文件中,application的屬性hardwareAccelerated要設置為開啟

之前的修改雖然使得頁面勉強能用了,但是還是感覺有點掉幀。我就想到了硬件加速,一般這個屬性是默認開啟的。一檢查清單文件,果然寫著:

android:hardwareAccelerated="false"

真的是坑爹啊。。。

以上兩個問題都修改過之后,頁面就變得絲滑般順暢了。主要是第一個原因,沒遇到過的真的一時會想不到。

總結

以上是生活随笔為你收集整理的android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。