12/08/2018, 13:06

Android Performance Tips

Khi thực hiện coding 1 ứng dụng trên 1 nền tảng bất kỳ nào đó thì việc tối ưu hiệu suất luôn luôn là vấn đề được đặt lên hàng đầu. Bài viết này chủ yếu bao gồm những thủ thuật code nhỏ để có thể cải thiện hiệu suất tổng thể của project. Tất nhiên nó không đảm bảo rằng những thay đổi này sẽ nâng cao ...

Khi thực hiện coding 1 ứng dụng trên 1 nền tảng bất kỳ nào đó thì việc tối ưu hiệu suất luôn luôn là vấn đề được đặt lên hàng đầu. Bài viết này chủ yếu bao gồm những thủ thuật code nhỏ để có thể cải thiện hiệu suất tổng thể của project. Tất nhiên nó không đảm bảo rằng những thay đổi này sẽ nâng cao perfomance 1 cách đáng kể của hệ thống. Việc chọn thuật toán hay thiết kế cấu trúc dữ liệu vẫn là ưu tiên hàng đầu trong mỗi project tuy nhiên nó nằm ngoài phạm vi của bài viết này. Bạn có thể tham khảo bài viết này đề hình thành nên những thói quen trong quá trình coding để tối ưu hoá từng dòng code nhỏ nhất.

Có hai nguyên tắc cơ bản cho việc viết mã hiệu quả:

Đừng làm công việc mà bạn không cần phải làm. Không phân bổ bộ nhớ nếu bạn có thể tránh nó. Một trong nhưng khó khăn nhất khi bạn thực hiện micro-optimizing là ứng dụng của bạn phải chạy trên được nhiều loại phần cứng. Các phiên bản khác nhau của VM chạy trên bộ vi xử lý khác nhau đang chạy ở tốc độ khác nhau. Nó nhiều khi không đơn giản chỉ là :”thiết bị X có phần cứng tốt hơn thiết bị Y”. Và bạn có thể quy đổi hiệu suất từ thiết bị này sang thiết bị khác theo tỉ lệ chênh lệch phần cứng. Cũng có 1 sự khác biệt lớn giữa thiết bị có và không có Just-In-Time (JIT) . Một đoạn mã tốt nhất cho thiết bị có JIT không có nghĩa là nó cũng tốt nhất cho thiết bị không có JIT. Vì vây vấn đề khi xây dưng ứng dụng là đảm bảo ứng dụng của bạn hoạt động tốt trên nhiều loại thiết bị, đảm bảo mã của bạn là hiệu quả ở tất cả các cấp và tối ưu hóa hiệu suất của bạn.

Một đối tượng được tạo ra không bao giờ là “free”. Việc sử dụng Garbage collection quản lý và dọn dẹp các đối tượng “rác” có thể giúp giảm thiểu ít bộ nhớ hơn, tuy nhiên thực tế là khi đã phân bổ bộ nhớ bao giờ cũng tốn tài nguyên hơn là không phân bổ bộ nhớ             </div>
            
            <div class=

0