Day6 Android配置启动页和生命周期

23 阅读1分钟

如何设置启动页

Android 通过AndroidManifest.xml声明
AndroidManifest.xml:
  <activity
      android:name=".MainActivity"
      android:exported="true">
      <intent-filter>
          <action android:name="android.intent.action.MAIN" /> 👈 这是入标记
          <category android:name="android.intent.category.LAUNCHER" />  
      </intent-filter>
  </activity>
  
  Swift
  // AppDelegate.swift
  func application(_ application: UIApplication, 
                  didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
      window = UIWindow(frame: UIScreen.main.bounds)
      window?.rootViewController = MainViewController()  // 👈 代码设置
      window?.makeKeyAndVisible()
      
      return true
  }
  

生命周期回调

Android 通过Activity 来展示一个页面,一个Activity的完整生命周期是:
onCreate()   视图创建时调用
onStart()    界面即将显示
onResume()   界面已显示(获得焦点)
onPause()    界面即将消失
onDestroy()  视图销毁

Swift 通过ViewController来展示页面
viewDidLoad()
viewWillAppear()
viewDidAppear()
viewWillDisappear()
deinit / viewDidUnload()

onCreate方法解析

override fun onCreate(savedInstanceState: Bundle?) {
     super.onCreate(savedInstanceState)        // 👈 1. 调用父类方法(必须)
      enableEdgeToEdge()                        // 👈 2. 你调用的方法
      setContent {                              // 👈 3. 你调用的方法
          // ...
      }
  }
### enableEdgeToEdge()
作用:让应用内容延伸到屏幕边缘(包括状态栏和导航栏区域)
不调用:内容从状态栏下方开始
Swift 
viewController.modalPresentationStyle = .fullScreen

### setContent()
作用设置Acticity的界面内容(使用Jetpack Compose)
Swift
view.addSubview(hostingController.view)