iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Mobile Development

自己的 app 自己寫系列 第 19

[Day19] 要不要從 Arc 搬回 Safari

  • 分享至 

  • xImage
  •  

在 DeviceActivity 上卡死了於是補點 iOS 小知識。

  • iOS 的系統主要分成四層,Core OS,Core Services,Media 和 Cocoa Touch

    • Core OS 底下就是硬體了,因此負責最底層的功能,像是和效能優化相關
    • Core Service 會對底層功能做進一步的包裝,像是 Core Data 提供基本的儲存,Core Location 提供設備地點資訊,CoudKit 則是進行 iCloud 的操作
    • Media 蠻直觀的就是多媒體處理相關,常見的像是 Core Animation 和 Core Graphic 等
    • Cocoa Touch 是最上層處理 UI 的框架,像是 UIKit 和 SwiftUI
  • GCD (Grand Central Dispatch) 是用來處理多執行緒的 framework

    • 底下大致分成三個 queue,main queue 負責 UI 更新,所有和 UI 相關的內容都必須放在 main queue 當中。global 負責背景任務,使用時可以指定 task priority,像是 userInteractive, default, background 等等。另外也可以設定 custom queue
    • queue 可以選擇 serial 或 concurrent
    • dispatch task 時可以選擇 sync 或 async,async 會開啟新的 thread
    • dispatchgroup 可以將多個 task 組起來,完成後執行特定動作
    • GCD 當中還有 Semaphore,可以控制併發量的上限,避免任務過多,佔用太多系統資源。

上一篇
[Day18] (メ ゚皿゚)メ(゚皿゚メ)
下一篇
[Day20] 炸雞拿錯了老闆對不起
系列文
自己的 app 自己寫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言