3
我正在開發iOS今日擴展,它可以從UIPasteboard讀取圖像並將其保存在磁盤上。由於iOS擴展程序無法使用大量內存,因此此過程會導致大圖像失敗。要解決這個問題,我首先檢查圖像的大小,並試圖決定,如果Widget可以保存或應該將這個任務交給它的主機應用程序:確定iOS今日擴展的內存限制
let MAXIMUM_IMAGE_SIZE_BYTES = <SomeMagicNumber>
if let clipboardImage = UIPasteboard.generalPasteboard().image {
let imageSize = CGImageGetHeight(clipboardImage.CGImage) * CGImageGetBytesPerRow(clipboardImage.CGImage)
if imageSize > MAXIMUM_IMAGE_SIZE_BYTES {
// Open host app to save image
}
else {
// Save image directly
}
}
我有以下問題:
- 我的尺寸計算是否正確?我從this thread。由於上面提到的內存限制,我無法實例化JPEG或PNG表示並讀取它的大小。
- 我可以擺脫幻數的最大圖像大小以字節爲單位嗎?如果沒有,我可以使用Apple提供的官方規格嗎?我無法在每個可用的iOS模型上測試我的應用程序,也不希望在較舊的設備上冒險崩潰。
非常感謝您的幫助!
我仍然在使用我的舊邏輯。感謝您的鏈接,我會看看。如果您想出更好的解決方案,請告訴我。 – Felix