簡體   English   中英

播放開發者控制台:13,000個活躍用戶的2個錯誤報告

[英]Play developer console: 2 error reports on 13k active users

作為入門開發人員,我有一個小問題。 我創建了一個應用程序,該應用程序在過去2周中已下載了很多,並且擁有13,000個活躍用戶。 我已經在一些(三星)電話上以及在仿真器中對此進行了測試。 我無法產生任何錯誤,因為該應用程序很簡單,所以我沒想到會這樣做。

但是今天我查看了我的Play開發者控制台,發現了2個錯誤報告。 這是我應該關注的問題,還是可以隨機生成此錯誤? 例如,我知道不良的自定義rom可能導致崩潰,我自己也經歷過這種情況。

我將發布創建該類的類,單擊按鈕時它將播放選定的聲音。 單擊按鈕時,其中一個崩潰會導致nullPointerException崩潰,另一個是調用mp.stop()時生成的非法狀態異常。 在我看來,這不太可能產生錯誤,但是我當然是錯的。 這是代碼:

public class SoundActivity extends Activity implements OnClickListener,
    OnCheckedChangeListener {

Button btn;
MediaPlayer mp;
RadioGroup slct;
RadioButton radio0, radio1, radio2, radio3, radio4;
int t = 1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.btclayout);
    initialize();
    btn.setOnClickListener(this);
    slct.setOnCheckedChangeListener(this);
    mp = MediaPlayer.create(this, R.raw.sound1);

}

public void initialize() {
    btn = (Button) findViewById(R.id.button1);
    slct = (RadioGroup) findViewById(R.id.radioGroup1);
    radio0 = (RadioButton) findViewById(R.id.radio0);
    radio1 = (RadioButton) findViewById(R.id.radio1);
    radio2 = (RadioButton) findViewById(R.id.radio2);
    radio3 = (RadioButton) findViewById(R.id.radio3);
    radio4 = (RadioButton) findViewById(R.id.radio4);

}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    mp.stop();
    mp.reset();
    switch (t) {
    case 1:
        mp = MediaPlayer.create(this, R.raw.sound1);
        break;
    case 2:
        mp = MediaPlayer.create(this, R.raw.sound2);
        break;
    case 3:
        mp = MediaPlayer.create(this, R.raw.sound3);
        break;
    }
    mp.start();
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    mp.release();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    mp = MediaPlayer.create(this, R.raw.sound1);
}

@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
    // TODO Auto-generated method stub
    switch (arg1) {
    case R.id.radio0:
        t = 1;
        break;
    case R.id.radio1:
        t = 2;
        break;
    case R.id.radio2:
        t = 3;
        break;
    case R.id.radio3:
        t = 4;
        break;
    case R.id.radio4:
        t = 5;
        break;
    }
}
}

編輯:這是來自Play控制台的堆棧跟蹤:

android.media.MediaPlayer._stop(本機方法)處android.media.MediaPlayer.stop(MediaPlayer.java:1033)處com.ddroid.DisMyApp.SoundActivity.onClick(SoundActivity.java:57)處的java.lang.IllegalStateException android.os.Handler.handleCallback(Handler.java:605)的android.view.View $ PerformClick.run(View.java:14400)的android.view.View.performClick(View.java:3549) .java.lang.reflect.Method上的.Handler.dispatchMessage(Handler.java:92)在android.os.Looper.loop(Looper.java:154)在android.app.ActivityThread.main(ActivityThread.java:4944)。 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784)處java.lang.reflect.Method.invoke(Method.java:511)處的invokeNative(Native Method) dalvik.system.NativeStart.main上的os.ZygoteInit.main(ZygoteInit.java:551)(本機方法)

第二個:

com.ddroid.DisMyApp.SoundActivity.onClick(SoundActivity.java:76)處的java.lang.NullPointerException android.view.View.performClick(View.java:2538)處android.view.View $ PerformClick.run(View。的android.os.Handler.handleCallback(Handler.java:587)的java:9152),android.os.Looper.loop(Looper.java:130)的android.os.Handler.dispatchMessage(Handler.java:92)的com.android的java.lang.reflect.Method.invokeNative(本機方法)處的android.app.ActivityThread.main(ActivityThread.java:3687)。 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)上的internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:867)在dalvik.system.NativeStart.main(本機方法)處

盡管這些錯誤不會發生,但根據我的經驗,用戶總是會找到一種以意想不到的方式使您的應用程序崩潰的方法:)在所有這些失敗中,它都是在onClick()發生的,因此我將包裝onClick()代碼在try/catch ,然后簡單地記錄錯誤。 您在開發人員控制台中看到錯誤的事實意味着用戶遇到了“ Force Close問題,因此捕獲錯誤肯定會更好。

在我所見過的許多與州相關的問題中,主要是用戶在同時旋轉設備的同時執行操作。 有時,使用Android Monkey也可以隨機模擬這些錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM