Proguard này có tự động chuyển đổi enums thành số nguyên để tối ưu hóa bộ nhớ hay không, tôi phải cấu hình nó để làm điều này? Nếu tôi phải cấu hình cấu hình là gì?Proguard có chuyển đổi tất cả enums thành int hoặc cần được cấu hình cho
8
A
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ể.
Các vấn đề liên quan
- 1. TẤT CẢ hoặc không có enums?
- 2. Java - cấu trúc thay đổi int enums
- 3. Tôi cần cấu hình ProGuard nào cho Firebase trên Android?
- 4. Chuyển đổi cấu hình XDT - Thay thế tất cả?
- 5. Chuyển đổi tất cả hình ảnh thành jpg
- 6. Tại sao cần chuyển đổi từ Số nguyên thành int
- 7. Khi sử dụng Proguard, bạn có cần cấu hình riêng cho từng thư viện được tham chiếu không?
- 8. Cách chuyển đổi int * thành int
- 9. Phonegap 2.4 Cấu hình Proguard Android
- 10. Julia: Chuyển đổi chuỗi số thành float hoặc int
- 11. Chuyển đổi IntWritatble thành int
- 12. Chuyển đổi int thành booleans
- 13. chuyển đổi int thành wstring
- 14. Chuyển đổi chuỗi thành Int mà không int()
- 15. Python - Chuyển đổi Hex thành INT/CHAR
- 16. ISSUE: Mysql chuyển đổi Enum thành Int
- 17. Cấu hình Proguard cho Hỗ trợ Android v4 22.2.0
- 18. Cấu hình Proguard cho các liên kết android sqlite
- 19. Convert.ChangeType và chuyển thành enums?
- 20. Chuyển đổi float64 thành int trong Go
- 21. Chuyển đổi tất cả các trang người dùng Linux thành văn bản/html hoặc markdown
- 22. JNI: chuyển đổi unsigned int thành jint
- 23. Chuyển đổi mảng cấu trúc thành IntPtr
- 24. Chuyển đổi hàng cv :: Mat thành int
- 25. iOS: Chuyển đổi id thành int
- 26. Chuyển đổi giá trị int thành unicode
- 27. Haskell Chuyển đổi số nguyên thành Int?
- 28. Array của enums - chuyển đổi sang NSArray
- 29. Chuyển đổi từ null thành int?
- 30. Scala: chuyển đổi chuỗi int hoặc Không
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'. –
@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). –
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ã. –