Случайный сигнал 11 (SIGSEGV) - PullRequest
0 голосов
/ 26 декабря 2018

Уже несколько дней я получаю ошибки SIGSEGV в случайных точках в моем приложении.Он падал, когда я ничего не делал.

Я начал разбирать код, чтобы увидеть, какая строка вызывала эту сегментацию, и был очень потрясен, когда узнал, что это: (барабанная дробь, пожалуйста)

Activity.setResult(Activity.OK,intent)

ЧТО?Это все еще не имеет никакого смысла для меня вообще!В строке ниже я покажу вам мой код до и после, и кто-нибудь может сказать мне, ПОЧЕМУ SIGSEGV происходил?

До

CommentActivity:

val comments = ArrayList<Comment>()
comments.add(comment)
/*Set the results*/
val intent = Intent()
intent.putExtra("comment_result", Utils.General.serializeToJson(comments))
this.setResult(Activity.RESULT_OK, intent)
this.finish()

MainActivity:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    switch (requestCode) {
        //catch data from CommentActivity
        case (INTENT_COMMENT): {
            if (resultCode == RESULT_OK) {
                String comments = intent.getExtras().getString("comment_result");
                if (comments != null && !comments.isEmpty()) {
                    /*Save the instance to the database and expect the database observable to call the upload thread*/
                    Type type = new TypeToken<ArrayList<Comment>>() {}.getType();
                    ArrayList<Comment> list = Utils.General.Companion.deserializeFromJson(comments, type);
                    /*Save the instance to the database and expect the database observable to call the upload thread*/
                    DataSource.INSTANCE.saveComments(list);
                } else {
                    showToast(getResources().getString(R.string.picture_lost), Toast.LENGTH_SHORT);
                }
            }
            break;
        }

==== Сбой в MainActivity после 10 сек и 1 минуты =====

После - без сбоя

КомментарийДеятельность:

/*Set the results*/
DataSource.saveComments(comments)
this.finish()
...