ฉันมีส่วนร่วมในการพัฒนาแอปพลิเคชัน Android ซึ่งเป็นไคลเอนต์มือถือที่ค่อนข้าง "หนา" สำหรับบริการบนเว็บ มันสื่อสารกับเซิร์ฟเวอร์อย่างหนัก แต่ก็มีตรรกะภายในมากมายเช่นกัน ดังนั้นฉันจึงตัดสินใจใช้คุณสมบัติบางอย่างของGoogle Guava
ไลบรารีเพื่อลดความซับซ้อนของกระบวนการพัฒนา นี่คือรายการคุณสมบัติที่ฉันสนใจมาก: คอลเลคชันที่ไม่เปลี่ยนรูป, ยูทิลิตี้พื้นฐาน, ส่วนขยายคอลเลคชัน, น้ำตาลการเขียนโปรแกรมเชิงฟังก์ชันและสำนวน ( common.collect
และcommon.base
), ยูทิลิตี้ดั้งเดิม ( common.primitives
), ยูทิลิตี้แฮช ( common.hash
), ยูทิลิตี้พร้อมกัน (ฟิวเจอร์สและAsyncFunction
) สิ่งที่ฉันไม่ต้องการใช้ใน Android: common.cache
(ดูคำถามด้านล่าง) common.eventbus
(เรามี libs เฉพาะของ Android ที่ดีกว่าสำหรับสิ่งนี้เช่นOtto ) common.io
(เราสามารถใช้okio สำหรับ Android ตอนนี้)
ฉันอ่านพบว่าการใช้ Guava สำหรับ Android สามารถทำให้กระบวนการคอมไพล์ช้าลงอย่างมากและยังลดประสิทธิภาพรันไทม์ทั้งหมด: ประสิทธิภาพที่ ไม่ดีกับ Guava Cache บน Android (ในกรณีนี้ถือว่าสมเหตุสมผลและไม่จำเป็นต้องใช้แคชของ Guava สำหรับ Android) และการ เพิ่ม Google โครงการ Guava to Android - ทำให้การสร้างช้าลงอย่างมาก
ดังนั้นจึงเป็นสิ่งที่มีประสิทธิภาพการใช้ห้องสมุดฝรั่งในโครงการ Android หรือห้องสมุดนี้ถูกออกแบบมาเพื่อนำมาใช้เพียงเพื่อการพัฒนาด้านเซิร์ฟเวอร์และฉันควรจะไปด้วยโซลูชั่นมาตรฐาน? คำอธิบายใด ๆ จะได้รับการชื่นชมมาก