2017年7月バグまとめ
3665 ワード
1.activityがonNewIntentを実行すると、ページが空白になります.
ソリューション:まずsetIntent(intent)を実行することを決定します.そしてページがfragment+viewpagerで構成されているかどうかをチェックし、ページが左右にスライドできるかどうかを見ると、実はfragmentかもしれないものに遮られているので、checkfragmentスタックに行く必要があります.こちらは前のロジックが3つのfragmentだったので、1つのfragmentしか見ていなかったので、viewpagerを削除しました.
2.要求されたURLの返信には遅延がありますが、iOSやブラウザが直接アクセスするのは使いやすく、リアルタイムのデータです.
解決策:あなたたちのappはまだxutils、andbaseのようなHttpClientをベースに実現しているネットワークフレームワークを使っていますか?もしそうなら、急いで交換しましょう.rxjava+retrofit+okhttp(appは1 M増えるかもしれません).時代のリズムに乗る.この問題の原因について、私はソースコードを調べていないで、ネット上でいくつかの資料を調べたことがあります.フレームワークの内部のスレッドプールの問題のためかもしれません.スレッドプールがいっぱいになると、ブロックされ、データの更新が遅延します.△私が推測したように、大神はソースコードを調べてもいいです.
3.携帯電話はすべてのロゴを出力せず、errorレベルの
ソリューション:コンソールのフィルタリングに問題がないことを前提としています.この場合、最も簡単な方法はテストマシンを交換することです.私の魅藍5はこの問題があって、fxxkは言いません.
4.フロントがインタフェースを呼び出したように、バックグラウンドに問題がない.
ソリューション:urlのホスト名が変更されているかどうかをすぐに確認します.一般的なテストとオンラインは2台のサーバです.オンラインサーバーを使っているかもしれませんが、バックグラウンドではテストサーバーを使っています.
retrofitコールバックに成功した後、データは空です.response.body().string()が空です
まずこのコードを見て、Response responseコールバックのこの値を最初にlogを印刷するとresponse.body().string()これは価値がありますが、後で使うときはありません.ここで問題があるのはresponseです.body().string()これは1回しか取られず、2回目は空いているので、上に書いてあるように内部変数を保存する必要があります.(未完待续..)
ソリューション:まずsetIntent(intent)を実行することを決定します.そしてページがfragment+viewpagerで構成されているかどうかをチェックし、ページが左右にスライドできるかどうかを見ると、実はfragmentかもしれないものに遮られているので、checkfragmentスタックに行く必要があります.こちらは前のロジックが3つのfragmentだったので、1つのfragmentしか見ていなかったので、viewpagerを削除しました.
private void init(){
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
NewSetFragment fragment1 = new NewSetFragment();
transaction.replace(R.id.fl_content, fragment1);
transaction.commitAllowingStateLoss();
}
2.要求されたURLの返信には遅延がありますが、iOSやブラウザが直接アクセスするのは使いやすく、リアルタイムのデータです.
解決策:あなたたちのappはまだxutils、andbaseのようなHttpClientをベースに実現しているネットワークフレームワークを使っていますか?もしそうなら、急いで交換しましょう.rxjava+retrofit+okhttp(appは1 M増えるかもしれません).時代のリズムに乗る.この問題の原因について、私はソースコードを調べていないで、ネット上でいくつかの資料を調べたことがあります.フレームワークの内部のスレッドプールの問題のためかもしれません.スレッドプールがいっぱいになると、ブロックされ、データの更新が遅延します.△私が推測したように、大神はソースコードを調べてもいいです.
3.携帯電話はすべてのロゴを出力せず、errorレベルの
ソリューション:コンソールのフィルタリングに問題がないことを前提としています.この場合、最も簡単な方法はテストマシンを交換することです.私の魅藍5はこの問題があって、fxxkは言いません.
4.フロントがインタフェースを呼び出したように、バックグラウンドに問題がない.
ソリューション:urlのホスト名が変更されているかどうかをすぐに確認します.一般的なテストとオンラインは2台のサーバです.オンラインサーバーを使っているかもしれませんが、バックグラウンドではテストサーバーを使っています.
retrofitコールバックに成功した後、データは空です.response.body().string()が空です
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
try {
if (response != null && response.body() != null) {
String content = response.body().string();
JSONObject jsonObject = new JSONObject(content);
if (" ".equals(jsonObject.optString("Message"))) {
showMember = " ";
} else {
showMember = "";
}
}
}catch (IOException | JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call call, Throwable t) {
Toast.makeText(mActivity, " ", Toast.LENGTH_SHORT).show();
}
});
まずこのコードを見て、Response responseコールバックのこの値を最初にlogを印刷するとresponse.body().string()これは価値がありますが、後で使うときはありません.ここで問題があるのはresponseです.body().string()これは1回しか取られず、2回目は空いているので、上に書いてあるように内部変数を保存する必要があります.(未完待续..)