程序猿的开心一刻
下面哪种面向对象的方法可以让你变得富有?
a,继承;b,封装;c,多态;d,抽象。
请在评论区输入答案,接下来进入正题
做过移动开发的工作有一年多,没有养成分享知识给他人的习惯,今天来说一说Android-Activity生命周期和iOS-ViewController生命周期。
一、Android-Activity生命周期
Activity生命周期图
Activity.pngActivity生命周期回调方法汇总
Activity-1.pngActivity生命周期 演示动画
Android-Activity.gifActivity生命周期演示-操作顺序及执行对应回调方法
启动程序——>点击手机下方返回键——>点击程序图标——>点击home键——>点击程序图标——>点击手机下方返回键
Snip20170328_2.png
Activity程序代码
public class MainActivity extends AppCompatActivity{
String msg = "LangYaSoldier:";
//当Activity首次启动时会调用onCreate()方法,可以理解为Java中的main()方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//绑定布局文件
setContentView(R.layout.activity_main);
Log.d(msg,"程序执行onCreate()方法");
}
//当Activity即将变得可见时会调用onStart()方法
@Override
protected void onStart() {
super.onStart();
Log.d(msg,"程序执行onStart()方法");
}
//当Activity已经变得可见时会调用onResume()方法
@Override
protected void onResume() {
super.onResume();
Log.d(msg,"程序执行onResume()方法");
}
//////当其他的Activity已经获得了焦点时会调用onPause()方法
@Override
protected void onPause() {
super.onPause();
Log.d(msg,"程序执行onPause()方法");
}
// 当Activity不再可见的时候会调用onStop()方法
@Override
protected void onStop() {
super.onStop();
Log.d(msg, "程序执行onStop()方法");
}
// 当Activity被销毁的时候会调用onDestroy()方法
@Override
public void onDestroy() {
super.onDestroy();
Log.d(msg, "程序执行onDestory()方法");
}
}
二、iOS-ViewController生命周期
ViewController生命周期 演示动画
ios生命周期.gifiOS-ViewController生命周期演示-操作顺序及执行对应回调方法
启动程序——>点击控制器一按钮显示控制器二 ——>点击控制器二按钮显示控制器一 ——>点击控制器一按钮显示控制器二 ——>点击控制器二按钮显示控制器一
Snip20170328_3.png
ViewController程序代码
@implementation ViewController
//此方法只加载一次,类中成员对象和变量的初始化都会放在这个方法中
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"控制器一:程序执行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(@"控制器一:程序执行viewWillAppear()方法");
}
//已经展示
-(void)viewDidAppear:(BOOL)animated{
NSLog(@"控制器一:程序执行viewDidAppear()方法");
}
//将要消失
-(void)viewWillDisappear:(BOOL)animated{
NSLog(@"控制器一:程序执行viewWillDisappear()方法");
}
//已经消失
-(void)viewDidDisappear:(BOOL)animated{
NSLog(@"控制器一:程序执行viewDisDisappear()方法");
}
//被释放
-(void)dealloc{
NSLog(@"控制器一:程序执行dealloc()方法");
}
-(void)click{
NSLog(@"点击控制器一按钮显示控制器二");
[self presentViewController:[[SecondViewController alloc] init] animated:YES completion:nil];
}
@end
网友评论