Я пытаюсь загрузить миниатюры видео Youtube в RecyclerView. Я столкнулся с некоторыми проблемами.Как загрузить миниатюры Youtube в RecyclerView с использованием API Youtube
Вот что я делаю в моем адаптере:
public static class ItemViewHolder extends RecyclerView.ViewHolder {
private YouTubeThumbnailView thumb;
public Post post;
public ItemViewHolder(View v) {
thumb = (YouTubeThumbnailView) v.findViewById(R.id.youtube_thumbnail);
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof ItemViewHolder) {
((ItemViewHolder) holder).thumb.initialize(YOUTUPEKEY, new YouTubeThumbnailView.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubeThumbnailView youTubeThumbnailView, YouTubeThumbnailLoader youTubeThumbnailLoader) {
youTubeThumbnailLoader.setVideo(VIDEOID);
}
@Override
public void onInitializationFailure(YouTubeThumbnailView youTubeThumbnailView, YouTubeInitializationResult youTubeInitializationResult) {
}});
}}}
Он отлично работает, но я не делаю это правильно. Когда я использую один и тот же адаптер в другой деятельности, я получаю эту ошибку:
Activity com.example.yasser.version6.Mespublications has leaked ServiceConnection [email protected] that was originally bound here
и требуется время, чтобы загрузить эскизы и иногда смешиваются между ними, когда ударяя.
Я добавил функцию, чтобы освободить все погрузчики Youtube:
public void ReleaseLoaders() {
for (YouTubeThumbnailLoader loader : loaders.values()) {
loader.release();
}
}
и я вызывающий эту функцию от активности OnStop():
@Override
public void onStop() {
super.onStop();
mAdapter.ReleaseLoaders();
}
Он работал отлично на некоторое время, но иногда случается сбой.
вы проверили [этот SO билет] (http://stackoverflow.com/questions/1992676/i-cant -get-РИД-из-этого-сообщения об ошибке-активности-приложение-имя-имеет-просочилась-servicecon)? Кажется, у вас такая же проблема, с которой вы сталкиваетесь - утечка памяти, а не RecyclerView, похоже, вы уже справлялись с этим. – adjuremods
Ошибка происходит от адаптера Recylcerview –
Как вы инициализируете свой адаптер? – random