Tôi đang tham gia vào việc phát triển ứng dụng Android, một ứng dụng di động khá "dày" cho một dịch vụ Web. Nó giao tiếp nhiều với máy chủ nhưng cũng có nhiều logic bên trong. Vì vậy, tôi quyết định sử dụng một số tính năng của Google Guava
thư viện để đơn giản hóa quá trình phát triển. Đây là danh sách các tính năng mà tôi rất quan tâm: tập hợp bất biến, utils cơ sở, phần mở rộng tập hợp, hàm lập trình hàm và thành ngữ ( common.collect
và common.base
), tiện ích nguyên thủy ( common.primitives
), tiện ích băm ( common.hash
), utils đồng thời (tương lai và AsyncFunction
). Những thứ tôi không muốn sử dụng trong Android: common.cache
(xem câu hỏi bên dưới), common.eventbus
(chúng tôi có các lib dành riêng cho Android tốt hơn cho việc này, chẳng hạn như Otto ), common.io
(chúng tôi có thể sử dụng okio cho Android hiện nay).
Tôi đọc rằng việc sử dụng Guava cho Android có thể làm chậm đáng kể quá trình biên dịch và cũng làm giảm hiệu suất toàn bộ thời gian chạy: Hiệu suất kém với Guava Cache trên Android (trong trường hợp này là hợp lý và không cần sử dụng bộ nhớ cache của Guava cho Android) và Thêm Google Dự án từ Guava sang Android - làm chậm đáng kể quá trình xây dựng
Vì vậy, sử dụng thư viện Guava trong dự án Android có hiệu quả không hay thư viện này được thiết kế để chỉ sử dụng cho phát triển phía máy chủ và tôi nên sử dụng các giải pháp tiêu chuẩn? Bất kỳ lời giải thích sẽ rất được đánh giá cao.