App的生命周期

- App Start:程序启动。
- Active:App进入活跃状态,正在运行,这时App占用内存CPU。
- Inactive:当App运行时锁定则App停止运行,但内存依然占用。用于保持当前状态。
- Background:App进入后台。
- 持续运行状态:App进入后台状态后,如果它申请继续运行,可以存在10分钟时间,之后自动转为Suspend状态。
- Suspend:App进入后台会紧接着变成Suspend暂时状态。这时不占用CPU,但占用内存。
- Not Running:iOS发生内存紧张时,会将暂停的App状态写入闪存,然后退出App释放内存。这时虽然能够在多任务中看到App,但它已经退出,一般称之为“App墓碑”。这里无内存、无CPU占用。
- App Terminated:程序退出。
iOS与Android运行的区别
1.运行机制:
iOS | Android |
---|---|
沙盒机制 | 虚拟运行机制 |
2.后台制度不同
iOS | Android |
---|---|
任何第三方程序不能后台运行 | 任何程序都能后台运行直到没有内存才关闭 |
3.最高权限指令
iOS | Android |
---|---|
UI指令权最高 | 数据处理指令权最高 |
沙盒机制
应用程序位于文件系统的严格限制部分,程序不能直接访问其他应用程序的安全机制。
- 每个应用程序有自己的存储空间。
- 应用程序不能翻过自己的围墙去访问别的存储内容。
- 应用程序请求的数据都要通过权限检测,假如不符合条件,不被放行。
沙盒的作用是存储数据 - 每个应用程序位于文件系统的严格限制部分。
- 每个应用程序只能为程序创建文件,系统中读取文件。
- 每个应用程序在iOS系统内部放在泳衣的文件夹目录中。
- 沙盒的本质是文件夹,名字是随机分配的。
结构:
- Document:存放程序中的文件数据,永久保存,iCloud备份。
- Library:
- Caches:存放缓存,手动清除,不备份。
- Preference:用NSUserDefault储存的,会备份。
- Tmp:临时,会自动清除。
xxx.app 包含程序中的nib、图片、音频等资源。
网友评论