首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 歡迎頁與引導頁邏輯:啟動間隔控制與後台存活策略

     編輯:程式設計綜合問答

業務場景

參考釘釘/微信/QQ 行為:
1. 首次安裝啟動 → 顯示「歡迎頁」→ 顯示「引導頁 (滑動介紹)」
2. 非首次啟動 → 僅顯示「歡迎頁」
3. 若使用者未清理緩存、且離開時間極短 (如按 Home 鍵切回) → 直接進入主頁,**不顯示歡迎頁**

兩種核心實現方案

方案一:應用常駐後台 (微信/QQ 模式)

  • 按返回鍵不呼叫 finish(),而是 moveTaskToBack(true) 移至後台。
  • Launcher 再次啟動時,系統直接恢復 Task 栈頂 Activity,跳過 Splash/Welcome。
  • 缺點:佔用記憶體,可能被系統回收導致體驗不一致。

方案二:時間戳記判斷 (通用推薦)

// WelcomeActivity.onCreate()
long lastLaunch = SharedPreferences.getLong("last_launch_time", 0);
long now = System.currentTimeMillis();
if (now - lastLaunch < THRESHOLD_MS) { // 例:5 分鐘
    startActivity(MainActivity.class);
    finish();
    return;
}
SharedPreferences.edit().putLong("last_launch_time", now).apply();
// 正常顯示歡迎頁邏輯...
  • 閾值建議 3~10 分鐘,平衡「快速回歸」與「品牌曝光」。
  • 引導頁單獨用 is_first_launch 標記控制,只展示一次。

最佳實踐建議

  1. 歡迎頁採用 Theme.Splash 無 Layout 繪製,極速顯示品牌圖。
  2. 引導頁使用 ViewPager2 + FragmentStateAdapter 實現滑動介紹。
  3. 所有啟動邏輯在 Application 或無 UI 的 SplashActivity 完成判斷,再導向對應頁面。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved