Android:加载广告延迟SharedElementTransition

时间:2016-04-22 08:41:03

标签: android performance admob shared-element-transition

我遇到了实现平滑共享元素转换的问题。启动此动画时,似乎Android首先呈现DetailActivity及其内容,然后启动共享元素转换。

我的DetailActivity包含一些简单的视图,例如TextViewImageView,还包含AdView,其中包含以下代码:

        Bundle bundle = new Bundle();
        bundle.putString("ausgabe", mAdViewEdition);

        final PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
            .setManualImpressionsEnabled(true)
                .addNetworkExtras(
                new AdMobExtras(bundle)).build();

        mAdView.setAdListener(new AdListener() {
            @Override
            public void onAdFailedToLoad(int errorCode) {
                if (mLayout != null && mAdView != null) {
                    mAdView.setVisibility(View.GONE);
                    mLayout.setVisibility(View.GONE);
                }
            }

            @Override
            public void onAdLoaded() {
                if (mAdView != null && mLayout != null) {
                    mAdView.setVisibility(View.VISIBLE);
                    mLayout.setVisibility(View.VISIBLE);
                }
            }
        });


        mAdView.loadAd(adRequest);

每次第一次启动共享元素转换时,loadAd方法最多需要两秒钟才能完全加载广告。因此,共享元素转换也会延迟最多两秒,这会导致糟糕的用户体验。如果我不调用loadAd方法,则动画效果很好。

有人知道如何解决这个问题吗?我已经尝试将loadAd方法放在AsyncTask中,但这不起作用,因为必须从UI线程调用该方法。

0 个答案:

没有答案