2

サーバーから取得した画像をキャッシュするために LRUCache を使用しています。RecyclerView からリクエストしていますが、すべての画像がキャッシュされるまで、LRUCache インスタンスはサイズ 0 を返します。

コードはこちら

public void buildCache() {
        for (Feed feed : mFeeds) {
            List<User> users = new ArrayList<>();
            users.add(feed.getAuthor());
            try {
                if (feed.getPostType() == Feed.PostType.Collab) {
                    for (User receiver : feed.getUsers())
                        users.add(receiver);
                    getImages(users);
                    Log.d(LOG_TAG, "Cache size: " + imagesLruCache.size());
                } else if (feed.getPostType() == Feed.PostType.Search){
                    String receiverUsername = feed.getReceiver().getUsername();
                    getImages(users);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }
        }
        mCacheBuildingInterface.OnCacheBuilt();
        dataSetChanged();
}

問題を解決するにはどうすればよいですか?
みんなにthx

4

0 に答える 0