减小.IPA尺寸的形状:EP.1-扫描和分析

ับรับReportปัญหาจากPOมาเรื่องApp sizeใหญ่เกินมากอเมื่รบกับAndroidฝั่งAndroidขนาด1.2mbเองในขณะที่iOSขนาขร้อยกว่าmbแน่ะ“่ะนี่ใจหายวาบต่างกันตั้งเกือบ ไงวะ!?

งได้ดูได้ดูmbควควพบว่เป็ควmb mb mb mb mb mb mb mb mb mbงงงงงงงงงงSize Size Sizeซักหซักหซักห

110 mbที่POผมยผมาคือขนาดของUniversal Binaryซึ่งในความเป็นผู้ใช้กดติดตั้งริงอเมื่AppบนApp Storeมันมัรที่จะนการบนApp Storeที่จะOptimizeขนาดของBinaryคือนทีนึงที่เรียกว่า “ Slicing” คือ Resourceารตัดเาา资源ต่างๆที่ไม่จำเป็นสำหรับ设备นั้นๆออกไปเช่นถ้าเครื่องที่ติดตั้งเป็นiPhone Xก็จะตัดรูปภาพที่เป็น高分辨率(@ 1x,@ 2x)商店存档存档.IPAให้เล็กลงก่อนเอาไป提取บนเครื่อง mbอีกเท่ากับว่าผู้ใช้ต้องข้อมูลแค่ประมาณ33mbเท่านั้นเองmb 100mbอย่างที่ตกอกตกใจ

mbอย่างนั้น33mbเทียบกับ1.2mbก็ยังเป็นตัวเลขที่ห่างชั้นกันไกลมีวิธีการอะไรที่เรารนจะลดขนBinaryเราลงอีกได้บ้าง? อะไรบ้างที่ยังเป็นไขมันส่วนเกินในแอแองเราทำให้มันอ้วนเผละได้อย่างนี้

  1. 未使用的图像资源

“อกล่าวหาแรกที่ผมพุ่งเป้าไปเลยก็คือLSUnusedResourcesูปภาไล่หาทีละรๆที่มัยเวลามาก IPาสแกนโปรเจคเราซะเลย。“บิงโก”ผมมีรูปภาพไม่ใช้ค้างอยู่ใน。IPAอยู่ประมาณ1.23 MB

资产目录资产目录优化资产资产目录资产目录资产资产目录“资产目录” นะครับ(มันมีประโยชน์หลายอย่างมาก)

:อน:่อนอเพนเจอทั้งหมดลองดูดีๆก่อนเพราะบางทีมันบอกว่าเราไม่ได้ใช้แต่ในความเป็นจริงเรารอรู่แต่เราไม่ได้เรียกชื่อมันตรงๆเช่นจากในรูปผมไม่ได้เรียก UIImage(named: "frame_1") UIImage(named: "frame_\(idx)") ดังนั้นเช็คก่อนลบด้วยนลบด้วรับ

ิดหากการลบรูปที่ไม่ใช้ไปผมก็ลดขนาดแอพลงได้ิดหระมาณเกือบๆ1mbครับ

2.第三方图书馆

rdอจากนั้นสิ่งที่ผมเจอว่า นั้นrdอวากนั้นrdอวากนั้น3rd party library นะเนี่ย:P)

Exportารเช็คทำไม่อยากครับตอนที่เรา导出กมอกมาเป็น。IPAจากXcodeให้เปลี่ยนจาก。IPAเป็น。Zipแล้ว解压缩เหมือนแตกไฟล์Zipธรรมดานี่แหละครับจะได้ราจะได้文件夹Payload ซึ่งใน文件夹จะมีAppไฟล์อยู่1ตัว Packageริงๆมันก็เป็น文件夹นี่แหละครับกดคลิกขวาแล้วเลือก显示包装内容ก็จะเห็นแล้วครับว่ามีอมีรอยู่ข้างในแต่ดูแบบนี้มันเห็นไม่ชัดครับว่ามันไปบวมตรงไหนมรแกรม磁盘清单Xซึ่งโหลด ฟรีเอามาตีแผ่ควา เป็นจริงให้ดูครับผลลัพธ์ที่ได้ก็ทำเอาอยากปิดคอมมันซะตอนนั้น

100个Mb框架的框架67.6 Mb的集成库中的库งริงๆโปรแกรมเมอร์อย่างเราเวรกรรมก็มาในรูปของTechnical Debt

จากที่ได้เห็นในหน้าจอนี้มีหลายอย่างน่าสนใจในความคิดผม

  • iOS App 10 mb的iOS应用程序库中的Swift w libswiftและlib wนและานอื่นๆต้องรอดูหลังจากนี้ว่าSwift 5และiOSหลังจ
  • Alamofire-网络库NSUrlSession网络服务2.3 Mb网络服务Mb网络服务
  • R Rx Family —พคุณใช้ R แSwiftบ นา คุณเพิ่มขอพของคุณอีกเกือบ10 MbกยนะจากLib 3ตัว(RxCocoa,RxSwift,RxDatasource)ที่จำเป็นต้องใช้(แต่มีเหตุผลจะใช้ก็ใช้ นะครับไม่ผิดอะไร)
  • KingFisher —图片库重量轻的ในแง่ขนาดซักเท่าไหร่นะ

เห็นได้ว่า图书馆ออดนิยมหลายตัวขนาดใหญ่กว่าที่คิดและมีผลต่อขนาดของแอพเราด้วย

กองย้อนกลับมาคิดดูอีกทีนะครับว่าแอพคุณต้องการใช้อะไรจากLibraryเหล่านี้มากน้อยแค่ไหนเพ

图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆图书馆

ดนตัวของผมตอนนี้แก้ไขไปเรื่อยๆ(ตอนนี้ลดได้พอประมาณยังไม่เยอะมาก)หวังว่าโพสนี้จะช่วยให้คุณกลับมาทำให้ขนาดAppของคุณกลับมาเล็กลงได้อีกครับจริงๆน่าจะยังมีวิธีลด随需应变资源随便资源随需应变随便资源2随便

新年快乐,新年快乐(ย้อน้)ครับ

关于“减小形状系列中的.IPA大小”的另一集

  • EP2。—减少PNG图片大小

更新24/1/19

  • บเพิ่มเติมกับทีมากการตรวจสอบเพิ่มเติมกับทีมAndroidขนาดAppไม่ใช่1.2 MBแต่ประมาณ12 MBก็รับถึงอย่างนั้นก็iOSก็ยังใหญ่กว่ามากอยู่ดี
  • Framework FrameworkวกัวกัวกัวกัวกัiOS iOS iOS SD SD SD MB MB 2 MBใขณะที่บขณะที่บAndroid Android Android KB KB KB KB KB KBใKB Android KB KB KB KB Android KB KB KB KB Android

Interesting Posts