Как сохранить последнее действие было открыто, если у вас есть много действий? - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть два вида деятельности, называемые MainActivity и Main2Activity, этот код в secondActivity, называемый (Main2Activity), в MainActivity есть кнопка перехода в Main2Activity. по этому коду внутри я нажимаю на кнопку, чтобы перейти к Main2Activity, мой телефон стал зависать, а через несколько минут, когда я открываю Main2Activity, я вижу его с задержкой и миганием.

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
        
public class Main2Activity extends AppCompatActivity {
    
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Class<?> activityClass;
        try {
            SharedPreferences sharedPreferences = getSharedPreferences("x", MODE_PRIVATE);
            activityClass = Class.forName(
                    sharedPreferences.getString("lastActivity", Main2Activity.class.getName()));

        } catch (ClassNotFoundException ex) {
            activityClass = Main2Activity.class;
        }
        startActivity(new Intent(this, activityClass));
    }

    @Override
    protected void onPause() {
        super.onPause();
        SharedPreferences sharedPreferences = getSharedPreferences("X", MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString("lastActivity", getClass().getName());
        editor.commit();
    }
}
...