<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### 12.3.2 優化列表的卡頓現象 這個問題困擾了很多開發者,其實答案很簡單,不要在主線程中做太耗時的操作即可提高滑動的流暢度,可以從三個方面來說明這個問題。 首先,不要在getView中執行耗時操作。對于上面的例子來說,如果直接在getView方法中加載圖片,肯定會導致卡頓,因為加載圖片是一個耗時的操作,這種操作必須通過異步的方式來處理,就像ImageLoader實現的那樣。 其次,控制異步任務的執行頻率。這一點也很重要,對于列表來說,僅僅在getView中采用異步操作是不夠的。考慮一種情況,以照片墻來說,在getView方法中會通過ImageLoader的bindBitmap方法來異步加載圖片,但是如果用戶刻意地頻繁上下滑動,這就會在一瞬間產生上百個異步任務,這些異步任務會造成線程池的擁堵并隨即帶來大量的UI更新操作,這是沒有意義的。由于一瞬間存在大量的UI更新操作,這些UI操作是運行在主線程的,這就會造成一定程度的卡頓。如何解決這個問題呢?可以考慮在列表滑動的時候停止加載圖片,盡管這個過程是異步的,等列表停下來以后再加載圖片仍然可以獲得良好的用戶體驗。具體實現時,可以給ListView或者GridView設置setOnScrollListener,并在OnScrollListener的onScrollStateChanged方法中判斷列表是否處于滑動狀態,如果是的話就停止加載圖片,如下所示。 public void onScrollStateChanged(AbsListView view, int scrollState) { if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { mIsGridViewIdle = true; mImageAdapter.notifyDataSetChanged(); } else { mIsGridViewIdle = false; } } 然后在getView方法中,僅當列表靜止時才能加載圖片,如下所示。 if (mIsGridViewIdle && mCanGetBitmapFromNetWork) { imageView.setTag(uri); mImageLoader.bindBitmap(uri, imageView, mImageWidth, mImageWidth); } 一般來說,經過上面兩個步驟,列表都不會有卡頓現象,但是在某些特殊情況下,列表還是會有偶爾的卡頓現象,這個時候還可以開啟硬件加速。絕大多數情況下,硬件加速都可以解決莫名的卡頓問題,通過設置android:hardwareAccelerated="true"即可為Activity開啟硬件加速。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看