iT邦幫忙

0

每日一篇學習筆記 直到我做完專題 :( [Day9]

  • 分享至 

  • xImage
  •  

今天學了Activity的四種啟動模式

standard:默認的啟動模式,每一次的啟動,系統都會創建它的新實例,即使該頁面已經存在了
適合standard場景:設置頁面或每次進入都需要初始化的頁面。

singleTop:當該模式的Activity已經位於堆疊的頂端時,不會創建新的實例,而是直接使用已經存在的Activity
適合singleTop場景:消息通知中心或重複操作

singleTask:在singleTask模式下,如果當前Activity已經存在於堆疊中,那麼系統將會把目前Activity上方的其他 Activity彈出,並將這個Activity移到前台,而不會創建新的實例
適合singleTask場景:應用的主頁。

singleInstance:強制該Activity在一個單獨的TASK中運行,這個TASK中只能包含這一個Activity
適合singleInstance場景:例如播放視頻的全屏模式 Activity,需要獨立於其他應用程序

今天講的東西比較抽象
藉由實際去改Intent去實際操作才能比較好知道怎麼使用
LoginInputActivity

public class LoginInputActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_login_input);
        findViewById(R.id.btn_jumpsuccess).setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        Intent intent = new Intent(this, LoginSuccessActivity.class);
        intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }
}

LoginSuccessActivity

public class LoginSuccessActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_login_success);

    }
}

藉由兩個Acitivy還有設計一個跳轉按鈕
就可以在模擬機上體會畫面差別


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言