Skipped 60 frames! The application may be doing too much work on its main thread

最近發(fā)現(xiàn)app界面跳轉(zhuǎn)時(shí)界面很是卡頓,非常的明顯,看看日志打印了如下

Skipped 60 frames! The application may be doing too much work on its main thread

很簡單也很直白的提示了,跳過了60幀,有可能在主線程做了較為耗時(shí)的操作,但是這些操作又不至于到使程序達(dá)到ANR的地步。
既然原因找到了咱們就動(dòng)手了,于是開始查找activity的耗時(shí)的操作并進(jìn)行相關(guān)的優(yōu)化,本以為大功告成可以擼一把了,可是問題依舊。這就尷尬了,明明已經(jīng)該優(yōu)化的優(yōu)化了呀,真是百思不得其解。于是Google了一下,發(fā)現(xiàn)了其中的奧秘,原來很多人也是一樣優(yōu)化后并沒有太大的效果,其原因在于并不是activity中的代碼初始化工作造成的,而是布局界面的layout造成的,無疑的是大家都在界面中使用了很多圖片或者大圖片,進(jìn)而造成界面的繪制花費(fèi)了很長的時(shí)間。

//imagview比如引用了一張大圖
<ImageView
    android:id="@+id/iv_play_dist"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:layout_centerInParent="true"
     />

既然問題找到了,那解決的辦法就簡單了,如下給出一種辦法:

playDistImageView= (ImageView) findViewById(R.id.iv_play_dist);
Glide.with(this).load(R.drawable.play_disc).into(playDistImageView);

思路很簡單,就是不在layout文件中直接設(shè)置這張圖,而是將其放到代碼中進(jìn)行設(shè)置,同時(shí)還可以使用圖片加載框架進(jìn)一步的優(yōu)化。
等你做完這些,再次打開app,你會(huì)發(fā)現(xiàn)界面跳轉(zhuǎn)時(shí)那么的如絲般順滑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,045評論 25 709
  • ViewPager圖片切換卡頓 閑暇時(shí)想到實(shí)現(xiàn)一個(gè)無限輪播Banner效果,這里是通過ViewPager直接懟出來...
    紫豪閱讀 5,346評論 4 6
  • 面試題總結(jié) 通用 安卓學(xué)習(xí)途徑, 尋找資料學(xué)習(xí)的博客網(wǎng)站 AndroidStudio使用, 插件使用 安卓和蘋果的...
    JingBeibei閱讀 1,873評論 2 21
  • 有時(shí)候面對喧囂的環(huán)境,就想一個(gè)人呆會(huì)。 好久沒有運(yùn)動(dòng)了,所以下班后就直接去大蜀山啦。 穿的衣服少,風(fēng)吹的很冷。 因...
    他說他的不說閱讀 1,370評論 0 0
  • “如果有什么真是你夢寐以求的,那就沒有任何人或事能阻攔你?!?如果真心想要擁有一件東西的話,我們真的是可以去拼命的...
    阿俊xi閱讀 289評論 0 0

友情鏈接更多精彩內(nèi)容