私は 135 画面のアプリケーションを持っているので、それがアプリケーションの愚かな計画になることはわかっていますが、残念ながらこれは要件です.すべての画面を html として作成し、それを資産に入れ、それを文字列に読み取ることを計画しているため2つのWebビューにロードします。アニメーションとともにロードする必要があるため、2 つの Web ビューを使用しています。
この方法がどれほど効率的かはわかりません.ほとんどのブログやフォーラムで読んだように.これは多くのパフォーマンスの問題を引き起こします.今私の問題は、2つのWebビューに4つのhtmlをロードしようとしているということです. webview へのアニメーション。この 2 つの Web ビューはフレーム レイアウトになります。同じことをすると、以下に示す多くの問題が発生します。
- Webview がちらつきます。
- アニメーションが発生すると、アンロードされた html が以前にロードされた間に表示されることがあります。
- ページがロードされていないことがあり、画面上でユーザーの操作が発生した場合にのみ表示されます。
- 2 つのページのロードの間に白いページが表示されることがあります。
ちらつきとその間の白いページが直面している主な問題です.これらの問題を解決する方法を教えてください.私はこれを成し遂げるのに本当に苦労しています.これが135のhtmlをロードする効率的な方法でない場合は、私に最善を教えてください. 1.これにどのように取り組んでいるかを示すために、コードの一部を以下に示します....事前に感謝します..
wv1.loadDataWithBaseURL("file:///android_asset/",
readFromAssests("rechercherunjob.html"), "text/html",
"UTF-8", null);
anim_right_to_left_in = AnimationUtils.loadAnimation(getBaseContext(), R.anim.right_to_left_in);
anim_left_to_right_out = AnimationUtils.loadAnimation(getBaseContext(), R.anim.right_to_left_out);
anim_left_to_right_out.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
wv1.bringToFront();
}
@Override
public void onAnimationRepeat(Animation animation){
}
@Override
public void onAnimationEnd(Animation animation) {
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(LoadHTMLActivity.this,
"anim end 2",
Toast.LENGTH_SHORT).show();
}
});
wv2.loadDataWithBaseURL(
"file:///android_asset/",
readFromAssests("blank.html"),
"text/html", "UTF-8", null);
}
});
final Handler Handler1 = new Handler();
Runnable mUpdateTimeTask1 = new Runnable() {
public void run() {
wv1.setAnimation(anim_right_to_left_in);
wv2.setAnimation(anim_left_to_right_out);
}
};
Handler1.postDelayed(mUpdateTimeTask1, 1000);