J'ai cherché dans Stackoverflow comment intégrer un AdView
dans un RecyclerView
. J'ai suivi ces messages:Problèmes de chargement d'AdView dans un RecyclerView
Fondamentalement, la façon de le faire appelle loadAd
à l'intérieur ou à l'intérieur onCreateViewHolder
du constructeur de la ViewHolder
.
De toute façon, ceci est ma mise en œuvre:
JAVA
public class AdExpressViewHolder extends RecyclerView.ViewHolder {
public AdExpressViewHolder(View itemView) {
super(itemView);
final AdView adView = (AdView)itemView.findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder()
.build();
adView.loadAd(request);
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
ads:adUnitId="**********************"
ads:adSize="BANNER">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
</RelativeLayout>
Le problème est: quand je défiler la RecyclerView, il semble charger sur le fil de l'interface utilisateur depuis reste coincé, seulement la première fois. Le reste du temps est correct.
Ceci est la vidéo qui le démontre:
Comme vous pouvez le voir, le premier bloque l'interface utilisateur, mais pas la seconde.
Qu'est-ce que je fais mal?
Merci d'avance.
EDIT
J'ai essayé de charger un AdView
classique dans une activité, fixe. Cela fonctionne et il ne semble pas être chargé dans le thread UI. Il semble que cela se passe juste dans le RecyclerView
.
Après 3 semaines, je l'ai fait un profilage de la méthode, et ce que j'ai sur:
Vous pouvez réaliser les taches rouges. Ce sont 2 différents chargement AdView
, tandis que le reste sont 38 vues personnalisées normales de la mienne.
Pour être plus concret, ce sont les fonctions, il est en ce qui concerne 100% du AdView
:
salut est ce bug fixe maintenant comment chargez annonces dans la vue recycleur – apk