android-recyclerview - 在 RecyclerView 中加载 AdView 时出现问题

标签 android-recyclerview adview

我一直在 Stackoverflow 中寻找如何集成 AdView里面RecyclerView .我一直在关注这些帖子:

One , two

基本上这样做的方法是调用 loadAdonCreateViewHolder或在 ViewHolder 的构造函数中.

无论哪种方式,这是我的实现:

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>

问题是:当我滚动 RecyclerView 时,它似乎在 UI 线程上加载,因为它卡住了,只有第一次。其余时间没问题。

这是演示它的视频:

Video

如您所见,第一个阻塞了 UI,但第二个没有阻塞。

我究竟做错了什么?

先感谢您。

编辑

我试图加载一个传统的 AdView在一个事件中,固定。它可以工作,并且似乎没有在 UI 线程中加载。似乎它只是发生在 RecyclerView .

3 周后,我完成了方法分析,这就是我得到的结果:



你可以意识到红点。这是 2 种不同的 AdView正在加载,而其余的是我的 38 个普通自定义 View 。

更具体地说,这些是函数,所以它是关于 100% AdView :

enter image description here

最佳答案

这似乎是 Ads SDK for Android 的一个错误,它没有被修复,至少在 v9.4.0 之前是这样。

更多信息在这里:
https://groups.google.com/forum/#!searchin/google-admob-ads-sdk/ui $20thread%7Csort:relevance/google-admob-ads-sdk/k4IFZA_QGT4/3gMHaCPPBQAJ

关于android-recyclerview - 在 RecyclerView 中加载 AdView 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38941731/

相关文章:

android - 根据位置缩放 RecyclerView 项目

java - 如何在一个 Activity 中处理相同布局的两个回收 View ?

android - 使用 UniformSpeedInterpolator 或 AutoScroll RecyclerView 在 Android Recyclerview 中水平自动滚动(从右到左)

android - 我如何将 adView 绘制到 SurfaceView Canvas 上

java - 以编程方式设置时,广告尺寸和广告单元 ID 必须在 loadAd 之前设置

android - AdMob AdView 仅以横向显示

java - RecyclerView 滚动时困惑

android - RecyclerView 是空白的。我想念什么?

Android AdMob : The import com. google.ads 无法解析

java - 创建了 Adview,现在怎么办?