Category Archive: Mobile Dev

Detect memory leaks in iPhone app

Detect memory leaks in iPhone app

เรื่อง memory management ในภาษา Objective-C เป็นสิ่งที่น่าปวดหัวของโปรแกรมเมอร์สายตลาด (Java/C#) เมื่อมาจับสายอินดี้ใหม่ๆ – ต้อง alloc init, retain, release ในขณะที่เมื่อก่อน new ก็จบ ปล่อยให้ Garbage Collector จัดการให้เสร็จศัพท์ เวลาที่ release หรือ dealloc เพลินๆไปหน่อย จะเกิดอาการ exc_bad_access ทำให้ต้องแก้ปัญหาด้วย retain หรือไม่ยอม release ดื้อๆไปเลย – ซึ่งเป็นสาเหตุของ “เมมรั่ว” หรือ memory leaks นั่นเอง หากรั่วไม่เยอะเราก็อาจจะไม่รู้ตัว จนกระทั่งมัน crash ตอน user ใช้ไปนานๆนั่นแหละ วิธีแก้ปัญหานี้มีสองแบบใหญ่ๆ คือใช้ LLVM/Clang Static Analyzer หรือใช้ Instruments app ของ [...]

 

Safe way to install Xcode 3.2.3 with iPhone SDK 4 GM seed

Safe way to install Xcode 3.2.3 with iPhone SDK 4 GM seed

สำหรับคนที่ใช้ iPhone SDK 3.2 แล้วอยากลง SDK 4.0 ที่เพิ่งออก Golden Master ไปไม่นาน – ตอนลงอย่าเผลอกด next next ไปนะครับ จะน้ำตาตกในไม่รู้ตัว (เหมือนผม T-T) ถ้าเผลอลงแบบ default ไปที่ /Developer มันจะไปลบ SDK เวอร์ชั่นก่อนหน้าเกลี้ยงเลยล่ะ เหลือไว้แต่ 3.2 กับ 4.0 ให้ช้ำใจ ที่ Package Essentials ให้เลือก Other… แล้วสร้าง Dir ใหม่ ที่ไหนก็ได้ ไกลๆ /Developer เท่านี้ในเครื่องก็จะมีทั้ง Xcode ตัวเก่า และตัวใหม่อยู่ร่วมกันอย่างสันติแล้วล่ะครับ ถ้าลงแบบ default แล้วไปเปิด Xcode project ก่อนหน้า 3.2 (และ 4.0) [...]