2015-08-26 13 views

Trả lời

15

Tối ưu hóa được liệt kê trên số optimizations page của ProGuard. Dường như đây là một trong các tối ưu hóa mặc định, nhưng nó (như các tối ưu hóa khác) có thể được chỉ định rõ ràng nếu bạn cần kiểm soát nhiều hơn (ví dụ: vô hiệu hoá tất cả các tối ưu hóa class/* ngoài enum unboxing).

lớp/unboxing/enum loại

đơn giản hoá enum để nguyên các hằng số, bất cứ khi nào có thể.

+0

Tôi vừa thử và giải mã, nhưng một lớp enum đơn giản (chỉ enums, không có trường) vẫn xuất hiện dưới dạng enum thay vì int. Có điều gì tôi đang làm sai? Tôi đang sử dụng tệp 'proguard-android-optimize.txt'. –

+0

@ThomasVos Lưu ý rằng tệp đó có đặc điểm mặc định để [giữ thành viên lớp tĩnh trên enums] (https://android.googlesource.com/platform/sdk/+/master/files/proguard-android-optimize.txt#48), có thể ảnh hưởng đến việc unboxing. Tôi muốn thử loại bỏ đầu tiên đó, miễn là bạn không sử dụng phương thức 'values ​​()' hoặc 'String' (điều này giới hạn khá nhiều cho bạn để kiểm tra bình đẳng). –

+1

Cảm ơn bạn đã trả lời. Tôi đã xóa các dòng đó bằng cách sao chép tệp vào mã nguồn của tôi và xóa tệp quy tắc proguard android ở chế độ gradle. Tuy nhiên, các enums vẫn xuất hiện trong mã được giải mã. –

Các vấn đề liên quan