[英]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.