一键清除 objc 项目中的无用方法

iOS 保持界面流畅的技巧




This is a good question and I wanted to answer it when I first saw it submitted way back in January — sorry I never got around to it!

The mechanism I’ve used is as simple as manually profiling your app (Time Profiler in Instruments). Then look for time on the main thread. Any time over about 10ms, especially if you know it will happen within a single runloop (e.g. call stack growing and then collapsing back to the base) will cause frame drops for scrolling, gestures, and physics-simulating animations.

The FPS measurement is not very useful because you may be holding a pretty high average FPS, but then drop a bunch of frames together; or only drop one frame per second, but it still feels bad. Basically FPS measurement does not correlate well with the human perception of the user experience.

Please feel free to post a topic on our Google Group for any further questions or discussion — I’d love to help!!forum/asyncdisplaykit

iOS app性能优化的那些事(二)

Help! My tables don’t scroll smoothly!

(多帖总结) iOS性能优化技巧

iOS App 性能备忘

微信读书 iOS 性能优化总结