iOS应用运行机制

作者: Dylan_J | 来源:发表于2019-11-01 13:54 被阅读0次

    App的生命周期

    App运行原理.png
    • 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、图片、音频等资源。

    相关文章

      网友评论

        本文标题:iOS应用运行机制

        本文链接:https://www.haomeiwen.com/subject/llvfbctx.html