Adview (admob) con carga de datos asincrónica

Tengo una actividad donde los anuncios se pueblan sobre la tabla dinámica poblada del código de java, esta tabla tiene las imágenes que se cargan de la red asincrónicamente. Cuando no incluyo el anuncio todo funciona como se esperaba para mí. Pero cuando incluyo adview y las imágenes que se cargan de la red de forma asíncrona, cuelga la interfaz de usuario hasta que las imágenes se cargan desde la red.

No pude entender el comportamiento, ¿Puede por favor darme la solución donde las imágenes deben cargar asincrónicamente junto con adview.

A continuación se muestra mi código de actividad:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:id="@+id/linearLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <com.google.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="********" ads:loadAdOnCreate="true" /> <ScrollView android:id="@+id/scroll1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableLayout android:id="@+id/table_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow> <TextView android:id="@+id/left_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:gravity="left|center_vertical" android:padding="5dip" android:text="Code" /> <TextView android:id="@+id/middle_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="right|center_vertical" android:padding="5dip" android:text="Name of Company" /> <TextView android:id="@+id/right_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:gravity="right|center_vertical" android:padding="5dip" android:text="1.3" /> </TableRow> </TableLayout> </ScrollView> </LinearLayout> 

Gracias

Amandeep

Tal vez usted necesita para sepearte el adView de su LinearLayout principal, en lugar de cargarlo dentro de la disposición lineal donde sus actividades de red (asíncrona) se hará.

Sólo intenta usar el Layout de marco, con adView en la parte superior y con margin_top de "55dp" para el LinearLayout.

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top"> <com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:id="@+id/main_adView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:gravity="center" ads:adUnitId = "******" ads:adSize = "BANNER" > </com.google.ads.AdView> </LinearLayout> <LinearLayout android:id="@+id/linearLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="55dp" android:orientation="vertical"> <ScrollView android:id="@+id/scroll1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableLayout android:id="@+id/table_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow> <TextView android:id="@+id/left_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:gravity="left|center_vertical" android:padding="5dip" android:text="Code" /> <TextView android:id="@+id/middle_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="right|center_vertical" android:padding="5dip" android:text="Name of Company" /> <TextView android:id="@+id/right_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:gravity="right|center_vertical" android:padding="5dip" android:text="1.3" /> </TableRow> </TableLayout> </ScrollView> </LinearLayout> </FrameLayout> 

Por favor, hágamelo saber el estado.

Tuve un problema similar con los anuncios nativos de Admob. Quería colocar un anuncio en una vista de reciclador. Desplazándose por, la interfaz de usuario se congelaría cuando pulsé el anuncio nativo y el desplazamiento solo continuaría una vez que el anuncio se hubiera cargado

Hice algunas sincronizaciones y encontré que loadAd () tomará alrededor de 1400ms, las llamadas posteriores a loadAd () el tiempo llegó a 150ms, por lo que mi solución era crear un anuncio nativo justo después de que mi fragmento se ha creado:

 private static boolean preLoadAd = true; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_help, container, false); cardsAdapter = new CardsAdapter(Cards.cards, this); recyclerView = (RecyclerView) rootView.findViewById(R.id.card_collection); //Pre-load ad to allow smoother scrolling //First time loading a native ad takes 800-1500ms, afterwards around 150ms if (preLoadAd) { //only do this once preLoadAd=false; //add the task to the message cue to run after the help fragment has shown recyclerView.postDelayed(new Runnable() { @Override public void run() { try { CardVariations.createNativeAdViewHolder(recyclerView); }catch(Exception e){e.printStackTrace();} }},200L); } return rootView; } 
  • Clase de aplicación que se ejecuta en el hilo de interfaz de usuario o?
  • Java convertir la marca de tiempo UTC a DateTime local
  • NoClassDefFoundError en proyecto de biblioteca externa para Android
  • Cómo realizar varias pruebas en Android afirmando brindis
  • ¿Una clave API de Google Maps caduca después de un tiempo determinado?
  • Android Okhttp llamadas asincrónicas
  • ¿Cuál es el mejor protocolo de comunicación de cliente de servidor para usar en Android e iOS?
  • Gap del teléfono cmd: El comando falló con el código de salida ENOENT
  • Imagen umbral con opencv (Java)
  • Cómo deslizar las pestañas dentro de un fragmento de cajón de navegación
  • ¿Cómo se genera la clase con T y List <T>
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.