程序猿的開心一刻
下面哪種面向?qū)ο蟮姆椒梢宰屇阕兊酶挥校?br> a及志,繼承;b寨腔,封裝速侈;c,多態(tài)迫卢;d倚搬,抽象。
請在評論區(qū)輸入答案乾蛤,接下來進入正題
做過移動開發(fā)的工作有一年多每界,沒有養(yǎng)成分享知識給他人的習(xí)慣,今天來說一說Android-Activity生命周期和iOS-ViewController生命周期家卖。
一眨层、Android-Activity生命周期
Activity生命周期圖
Activity生命周期回調(diào)方法匯總
Activity生命周期 演示動畫
Activity生命周期演示-操作順序及執(zhí)行對應(yīng)回調(diào)方法
啟動程序——>點擊手機下方返回鍵——>點擊程序圖標——>點擊home鍵——>點擊程序圖標——>點擊手機下方返回鍵
Activity程序代碼
public class MainActivity extends AppCompatActivity{
String msg = "LangYaSoldier:";
//當Activity首次啟動時會調(diào)用onCreate()方法,可以理解為Java中的main()方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//綁定布局文件
setContentView(R.layout.activity_main);
Log.d(msg,"程序執(zhí)行onCreate()方法");
}
//當Activity即將變得可見時會調(diào)用onStart()方法
@Override
protected void onStart() {
super.onStart();
Log.d(msg,"程序執(zhí)行onStart()方法");
}
//當Activity已經(jīng)變得可見時會調(diào)用onResume()方法
@Override
protected void onResume() {
super.onResume();
Log.d(msg,"程序執(zhí)行onResume()方法");
}
//////當其他的Activity已經(jīng)獲得了焦點時會調(diào)用onPause()方法
@Override
protected void onPause() {
super.onPause();
Log.d(msg,"程序執(zhí)行onPause()方法");
}
// 當Activity不再可見的時候會調(diào)用onStop()方法
@Override
protected void onStop() {
super.onStop();
Log.d(msg, "程序執(zhí)行onStop()方法");
}
// 當Activity被銷毀的時候會調(diào)用onDestroy()方法
@Override
public void onDestroy() {
super.onDestroy();
Log.d(msg, "程序執(zhí)行onDestory()方法");
}
}
二上荡、iOS-ViewController生命周期
ViewController生命周期 演示動畫
iOS-ViewController生命周期演示-操作順序及執(zhí)行對應(yīng)回調(diào)方法
啟動程序——>點擊控制器一按鈕顯示控制器二 ——>點擊控制器二按鈕顯示控制器一 ——>點擊控制器一按鈕顯示控制器二 ——>點擊控制器二按鈕顯示控制器一
ViewController程序代碼
@implementation ViewController
//此方法只加載一次趴樱,類中成員對象和變量的初始化都會放在這個方法中
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"控制器一:程序執(zhí)行viewDidLoad()方法");
self.view.backgroundColor = [UIColor blueColor];
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
button1.frame = CGRectMake(0, 50, 320, 30);
button1.titleLabel.font = [UIFont systemFontOfSize:17];
[button1 setTitle:@"點擊按鈕,去顯示控制器二" forState:UIControlStateNormal];
button1.backgroundColor = [UIColor blackColor];
[button1 addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1];
}
//將要展示
-(void)viewWillAppear:(BOOL)animated{
NSLog(@"控制器一:程序執(zhí)行viewWillAppear()方法");
}
//已經(jīng)展示
-(void)viewDidAppear:(BOOL)animated{
NSLog(@"控制器一:程序執(zhí)行viewDidAppear()方法");
}
//將要消失
-(void)viewWillDisappear:(BOOL)animated{
NSLog(@"控制器一:程序執(zhí)行viewWillDisappear()方法");
}
//已經(jīng)消失
-(void)viewDidDisappear:(BOOL)animated{
NSLog(@"控制器一:程序執(zhí)行viewDisDisappear()方法");
}
//被釋放
-(void)dealloc{
NSLog(@"控制器一:程序執(zhí)行dealloc()方法");
}
-(void)click{
NSLog(@"點擊控制器一按鈕顯示控制器二");
[self presentViewController:[[SecondViewController alloc] init] animated:YES completion:nil];
}
@end