2017年7月バグまとめ


1.activityがonNewIntentを実行すると、ページが空白になります.
ソリューション:まず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回目は空いているので、上に書いてあるように内部変数を保存する必要があります.(未完待续..)