簡體   English   中英

如何在Android中使用Handle而不增加內存

[英]How to use Handle without increase Memory in Android

在我的應用程序中,我使用ViewPager來顯示一些數據,並且我希望每5秒設置一次頁面之間的自動滾動

我使用下面的代碼每5秒自動在頁面之間滾動。

private int page = 0;
private Handler handler;
private int delay = 5000;
private Runnable runnable = new Runnable() {
    public void run() {
        if (homeRecentPostAdapter.getCount() == page) {
            page = 0;
        } else {
            page++;
        }
        homePage_recentViewPager.setCurrentItem(page, true);
        handler.postDelayed(this, delay);
    }
};

    homePage_recentViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            page = position;
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

不使用此ThreadHandle 內存內存使用量(進入“ 探查器”選項卡)為80mb ,但在使用上述代碼后,將自動滾動內存使用量設置為上至120mb ,每5個設置上限為該使用量,然后在2 分鍾后接收到250mb

我該如何解決? 如何在不增加內存的情況下使用自動滾動?

檢查您的ViewPager ,也許它在每次翻頁時都在創建新實例。 如果您提供了代碼,我也許可以指出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM