简体   繁体   English

从另一个片段传递到片段时,应用程序冻结一秒钟

[英]App freezes for a second when passing to a fragment from another one fragment

I have a issue about my fragments.When i passing to another fragment from my bottom navigationbar app freezes for a second then passes that fragment i clicked.I have a lot of elements in my fragments.I posted a example code below.My another two fragment like that.I don't know how to solve that problem. 我有一个关于片段的问题。当我从底部导航栏应用程序传递到另一个片段冻结一秒钟,然后单击该片段时,片段中包含很多元素,下面发布了一个示例代码,另外两个这样的片段。我不知道如何解决这个问题。

View view;
private InterstitialAd mInterstitialAd;
Button saltanat,ankara,cumhuriyet,halifelik,cokpartili,medenikanun,anayasa,hukuk,kadinhaklari,
tevhiditedrisat,harfdevrimi,turktarih,turkdil,universite,tekkezaviye,sapka,soyadi,takvimsaat,iktisat,
kabotaj,saglik;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    MobileAds.initialize(getContext(),"ca-app-pub-3152282306923824/3545668936");
    mInterstitialAd = new InterstitialAd(getContext());
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());
    Window window = getActivity().getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(ContextCompat.getColor(getActivity(),R.color.colorPrimaryDark));
    view = inflater.inflate(R.layout.fragment_reformlar,container,false);
    saltanat = view.findViewById(R.id.saltanat_button);
    saltanat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            saltanatinKaldirilmasiGo(view);
        }
    });
    ankara = view.findViewById(R.id.baskent_button);
    ankara.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            baskentinIlaniGo(view);
        }
    });
    cumhuriyet = view.findViewById(R.id.cumhuriyet_reform_button);
    cumhuriyet.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            cumhuriyetinIlaniGo(view);
        }
    });
    halifelik = view.findViewById(R.id.halifelik_button);
    halifelik.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            halifeliginKaldirilmasiGo(view);
        }
    });
    cokpartili = view.findViewById(R.id.cokpartili_button);
    cokpartili.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            cokpartiliyeGecisGo(view);
        }
    });
    medenikanun = view.findViewById(R.id.medenikanun_button);
    medenikanun.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            medeniKanunGo(view);
        }
    });
    anayasa = view.findViewById(R.id.anayasa_button);
    anayasa.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            anayasaHareketleriGo(view);
        }
    });
    hukuk = view.findViewById(R.id.hukuk_button);
    hukuk.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            hukukInkilaplariGo(view);
        }
    });
    kadinhaklari = view.findViewById(R.id.kadinhaklari_button);
    kadinhaklari.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            kadinHaklariGo(view);
        }
    });
    tevhiditedrisat = view.findViewById(R.id.tevhiditedrisat_button);
    tevhiditedrisat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            tevhidiTedrisatGo(view);
        }
    });
    harfdevrimi = view.findViewById(R.id.harfdevrimi_button);
    harfdevrimi.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            harfDevrimiGo(view);
        }
    });
    turktarih = view.findViewById(R.id.turktarihkurumu_button);
    turktarih.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            turkTarihKurumuGo(view);
        }
    });
    turkdil = view.findViewById(R.id.turkdilkurumu_button);
    turkdil.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            turkDilKurumuGo(view);
        }
    });
    universite = view.findViewById(R.id.universite_button);
    universite.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            universiteReformuGo(view);
        }
    });
    tekkezaviye = view.findViewById(R.id.tekkevezaviye_button);
    tekkezaviye.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            tekkeVeZaviyeGo(view);
        }
    });
    sapka = view.findViewById(R.id.sapkareformu_button);
    sapka.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sapkaReformuGo(view);
        }
    });
    soyadi = view.findViewById(R.id.soyadikanunu_button);
    soyadi.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            soyadiKanunuGo(view);
        }
    });
    takvimsaat = view.findViewById(R.id.takvimvesaat);
    takvimsaat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            takvimSaatGo(view);
        }
    });
    iktisat = view.findViewById(R.id.iktisat_button);
    iktisat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            iktisatGo(view);
        }
    });
    kabotaj = view.findViewById(R.id.kabotaj_button);
    kabotaj.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            kabotajGo(view);
        }
    });
    saglik = view.findViewById(R.id.sosyalsaglik_button);
    saglik.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            sosyalVeSaglikGo(view);
        }
    });
    return view;
}

Thank you for all of your helps.I solved my problem with using AsyncTask in onCreate method.So 感谢您的所有帮助。我在onCreate方法中使用AsyncTask解决了我的问题。

AsyncTask.execute(new Runnable() {
        @Override
        public void run() {
            Window window = getWindow();
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(ContextCompat.getColor(getApplicationContext(),R.color.colorPrimary));
            MobileAds.initialize(getApplicationContext(),"ca-app-pub-3152282306923824/3545668936");
            mInterstitialAd = new InterstitialAd(getApplicationContext());
            mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        }
    });

And i'm loading my ad in another void.Also i'm using this on my buttons.Because i'm using buttons to show ad.It became more faster than old. 而且我正在另一个空白处加载广告。我也在按钮上使用它。因为我正在使用按钮来展示广告。它的速度比以前更快。

private void loadAd() {
    mInterstitialAd.loadAd(new AdRequest.Builder().build());
    if(mInterstitialAd.isLoaded()) {
        mInterstitialAd.show();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 当第二个片段已经有数据时,将数据从一个片段传递到另一个片段 - Passing data from one fragment to another when second fragment already has data 导航到另一个片段时,嵌套的 ViewPager 片段会冻结一秒钟 - Nested ViewPager fragment freezes for a second when navigating to another fragment 从一个片段导航到另一个片段时,第二个片段重叠 - When navigating from one fragment to another, the second fragment overlaps 从一个片段传递到另一个 - Passing from one fragment to another 将图像从一个片段传递到另一个片段并在该片段中显示图像 - Passing image from one fragment to a another fragment and display image in that fragment 将数据从一个片段传递到另一个片段时无法正常工作 - Passing data from one fragment to another is not working when passing data 将数据从一个片段传递到另一个片段,从 FirebaseRecyclerAdapter - Passing data from one fragment to another fragment from FirebaseRecyclerAdapter Java将数据从一个片段的Lis​​tView传递到另一个片段 - Java Passing Data From One Fragment's ListView To Another Fragment 将复选框输入从一个片段传递到同一活动中的另一个片段 - Passing checkbox input from one fragment to another fragment in the same activity 空指针异常,用于将数据从一个片段传递到另一个片段 - Null pointer exception for passing data from one fragment to another fragment
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM