我真的不是越来越懒了,是最近在配环境所以写这个文档写的就少了啦

先写一点自己的总结吧

任何一个ViewController都有一个view

view可以设置frame等属性

UILabel是文字的View、UIImageView是图片的View、UITableView是表格的View、UICollectionView是瀑布流的View等等

layout是用来分布view的,多线程采用dispatch队列,序列化数据等…

APP启动

main函数前:动态链接/二进制文件加载/runtime/类的家在等
main函数创建一个UIApplication对象,创建对应的AppDelegate

UIApplication

  • App生命周期、内存警告
  • 处理UI/statusbar/图标消息数等变化
  • 处理openURL
具有两种方式处理业务逻辑Delegate和Notification
根据App状态可以调整业务逻辑
  • Not running
  • Inactive:过渡的中间状态
  • Active:正在前台运行,消耗更多资源
  • Background:分配较少资源
  • Suspended:内存不足系统自动kill

UIApplicationDelegate

App启动:willFinishLanunchingWithOptions:
APP启动完成:didFinishLaunchingWithOptions:
App启动:applicationDidBecomeActive:
APP后台切前台:applicationWillEnterForeground:
applicationDidBecomeActive:
APP前台切后台:applicationWillResignActive:
applicationDidEnterBackground:
Kill App:applicationWillTerminate:

闪屏的实现

启动前图片的组成

  • Launch Screen + Splash Screen

Launch Screen启动屏(系统级)

  • main函数之前 + didFinishLaunch前
  • 系统启动App时自动展示
  • 在准备好App UI数据后自动消失
  • 给用户以响应,确定点击了正确的图标

Splash Screen 闪屏(业务逻辑)

  • Launch Screen展示时间短
  • 实现同样的图片,显示图标等信息
  • 实现广告/推广活动页面
  • 游戏中的Loading页面

 

分类: IOS实习

0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注