12/08/2018, 00:36

Làm gì khi Android studio build chậm?

Sau thời gian trải nghiệm Android studio, IDE mới dành cho lập trình viên Android của Google, tôi cảm nhận sự tiện dụng rõ rệt mà Android studio mang lại so với môi trường Eclipse. Cảm ơn Google đã mang lại cho chúng tôi công cụ tuyệt vời này. Tuy nhiên nhược điểm lớn của Android studio trong ...

Sau thời gian trải nghiệm Android studio, IDE mới dành cho lập trình viên Android của Google, tôi cảm nhận sự tiện dụng rõ rệt mà Android studio mang lại so với môi trường Eclipse. Cảm ơn Google đã mang lại cho chúng tôi công cụ tuyệt vời này.

Tuy nhiên nhược điểm lớn của Android studio trong những phiên bản mới ra mắt này là tốc độ build khá chậm, có lập trình viên đã kêu trời vì phải mất cả vài phút cho việc ngồi chờ build code. Trong phạm vi bài viết này, tôi trình bày một vài phương pháp để giải quyết vấn đề trên.

Tùy chỉnh Gradle

  1. Settings/Compiler đánh chọn vào tất cả các tùy chọn (trừ tùy chọn thứ 2,Make project automatically, nếu chọn tùy chọn này, Android studio sẽ tự động build mỗi lần bạn thay đổi source code, tạo cảm giác như thông dịch, đáng tiếc tốc độ rùa bò và đôi lúc treo UI lúc đang gõ code)

  2. Với tùy chọn VM Options, ta để các thông số sau cho bộ nhớ hê thống

Xmx2048m

X:MaxPermSize=512m

X:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Trong file gradle.properties của ứng dụng, bạn sửa config như sau:

org.gradle.daemon=true

org.gradle.jvmargs=-Xmx2048m

-XX:MaxPermSize=512m

-XX:+HeapDumpOnOutOfMemoryError

-Dfile.encoding=UTF-8

org.gradle.parallel=true

org.gradle.configureondemand=true

Trong đó thông số jvmargs có vai trò quan trọng nhất nó tùy chỉnh bộ nhớ của tiến trình deamon, quyết định trực tiếp đến vùng heap của gradle.

Nếu các bạn muốn tìm hiểu kĩ hơn về các tham số trong build gradle, có thể tìm thấy ở đường dẫn sau https://gradle.org/docs/current/userguide/build_environment.html

Tùy chỉnh Android studio heap

Dung lượng bộ nhớ heap của IDE này được lưu trong vmoptions, trên windows, đường dẫn của file như sau sdkstudio64.exe.vmoptions. Có 2 tham số cần thay đổi với giá trị mặc định

-Xms128m -Xmx750m

Để android studio chạy nhanh hơn, ta cần tăng bộ nhớ heap, tùy thuộc vào phần cứng của máy tính bạn mà tăng con số trên lên 2 hoặc 3 lần. Với máy corei5, ram 8g của tôi, tôi thay đổi như sau, và tốc độ build của Android studio cải thiện hẳn:

-Xms1024m -Xmx2048m

Khởi động lại Android studio và trải nghiệm sự khác biệt.

Kết quả

Đây là hình ảnh ghi lại được trên máy của tôi:

Capture.PNG

Heap của Android trước đây luôn ở mức 50% ở trạng thái coding, 100% ở trạng thái build, và giờ tối đa chỉ lên tới 50%.Tổng thời gian build cho lần đầu tiên giảm từ 4min còn 1min, build cho lần tiếp theo chỉ còn 30s. Imazing!

** Happy coding!**

Reference

https://gradle.org/docs/current/userguide/build_environment.html

http://www.reddit.com/r/androiddev/comments/2t2i1w/android_studio_is_laggy_as_hell_will_increasing/

http://java.dzone.com/articles/how-speed-android-studio

0