2.4日
Android的四大组件:
Activity Brodcast Receiver Service Content Provider
activity_lifecycle的图形示例: 即生命周期
onCreate() onStart() onResume() onPause() onStop() onDestory() 统称为系统的回调(callback)
测试系统存在的程序
1 package com.example.helloworld; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 5 import android.os.Bundle; 6 import android.util.Log; 7 8 public class MainActivity extends AppCompatActivity { 9 10 String TAG = "myTag"; 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 Log.d(TAG, "onCreate: "); 16 } 17 18 @Override 19 protected void onStart() { 20 super.onStart(); 21 Log.d(TAG, "onStart: "); 22 } 23 24 @Override 25 protected void onResume() { 26 super.onResume(); 27 Log.d(TAG, "onResume: "); 28 } 29 30 @Override 31 protected void onStop() { 32 super.onStop(); 33 Log.e(TAG, "onStop: "); 34 } 35 36 @Override 37 protected void onRestart() { 38 super.onRestart(); 39 Log.e(TAG, "onRestart: "); 40 } 41 42 @Override 43 protected void onDestroy() { 44 super.onDestroy(); 45 Log.e(TAG, "onDestroy: "); 46 } 47 }
运行之后的结果:
说明该程序运行时依次执行了 onCreate() onStart() onResume()
通过此操作可以了解程序的生命周期,每个阶段的程序如何运行,并通过这些阶段为程序更好执行做铺垫。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· C# 多项目打包时如何将项目引用转为包依赖
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
· 如果单表数据量大,只能考虑分库分表吗?
· 在Winform开发框架支持多种数据库基础上,增加对国产数据库人大金仓的支持
· 搭建Trae+Vue3的AI开发环境