Trong BlackBerry, tốt hơn bạn nên sử dụng lớp Bitmap hoặc EncodedImage về cách sử dụng bộ nhớ và hiệu năng? Có bất kỳ lời khuyên cụ thể nào về việc sử dụng các lớp này không?Sử dụng Bitmap hoặc EncodedImage trong BlackBerry có tốt hơn không?
7
A
Trả lời
7
quan sát của tôi là tốt hơn:
- sử dụng Bitmap và drawBitmap cho các yếu tố cần sơn lại thường (hình nền cũ trong trò chơi)
Có lẽ nó vì Bitmap là một định dạng thô vì vậy không thực hiện nhấn để giải mã EncodedImage trước drawImage. Ở phía bên kia, hoạt ảnh GIF hoạt động hoàn hảo với EncodedImage.
- sử dụng EncodedImage cho phim hoạt hình hay cho một số lượng lớn các tài nguyên (ảnh cũ hoặc các yếu tố DECORE)
Khi bạn tải Bitmap từ gif, png, định dạng jpg họ sẽ được mở ra như một EncodedImage dù sao, và nếu bạn làm điều này nhiều lần, nó có thể đánh bại hiệu suất (ví dụ 50 giây để tải 14 png từ nguồn lực để Bitmaps trên đậm, kích thước trung bình 80 kb, điều chỉnh lên đến 2 giây nạp vào EncodedImages)
CẬP NHẬTstated by Fostah EncodedImage có hàm getBitmap() bạn có thể sử dụng để chuyển đổi mọi EncodedImage thành một Bitmap. Vì vậy, bạn có thể tải trong EncodedImage và sau đó sử dụng như Bitmap
Các vấn đề liên quan
- 1. Sử dụng class.isEnum() hoặc instanceof Enum có tốt hơn không?
- 2. HTML5 Canvas: tốt hơn để vẽ lại các đối tượng hoặc sử dụng bitmap?
- 3. Sử dụng "is" hoặc "==" để so sánh số trong Python có tốt hơn không?
- 4. Sử dụng 'DbContext' thay vì 'ObjectContext' có tốt hơn không?
- 5. Có gì nhanh hơn/tốt hơn để sử dụng: chức năng md5 của MySQL hoặc PHP?
- 6. Tôi có nên sử dụng Bitmap hoặc Drawable để lưu trữ trong ImageCache trên Android không?
- 7. Có cách nào tốt hơn là sử dụng các lớp tĩnh hoặc đơn cho MVVM không?
- 8. Có tốt hơn khi sử dụng trình độ không tham lam hoặc một lookahead?
- 9. Sử dụng Danh sách hoặc Bộ sưu tập có tốt hơn không?
- 10. Có sử dụng điều khoản bảo vệ hoặc bắt ngoại lệ tốt hơn không?
- 11. Bạn có nên sử dụng dịch vụ web hoặc mvc Asp.net tốt hơn không?
- 12. Có tốt hơn khi sử dụng nhiều SpanObject hoặc nhiều TextView trong Android?
- 13. Vẽ bitmap nhanh hơn trên canvas Android hoặc OpenGL
- 14. Tôi có nên sử dụng Từ điển cho các bộ sưu tập có 10 mục hoặc ít hơn hoặc có lựa chọn thay thế tốt hơn không?
- 15. sql sử dụng "nhỏ hơn hoặc bằng" & "không lớn hơn"
- 16. XPath hoặc Linq2Xml tốt hơn
- 17. Khi nào là "Hoặc" tốt hơn để sử dụng hơn "OrElse"?
- 18. jqGrid hoặc dataTable, tốt hơn?
- 19. phút hoặc gzip, tốt hơn?
- 20. Có tốt hơn khi sử dụng javascript nhúng hoặc tệp .js riêng biệt trong chế độ xem MVC3 không?
- 21. Có cách nào tốt hơn để hiển thị việc sử dụng CPU trong tmux không?
- 22. Thực hành tốt có ngoại lệ cụ thể cho mọi thứ không? Hoặc là tốt hơn để tái sử dụng một ngoại lệ trừu tượng hơn một chút?
- 23. Trong C++, tốt hơn là giới hạn giá trị sử dụng std :: min hoặc một nhánh?
- 24. Cách nào tốt hơn để sử dụng trong CSS, phần trăm hoặc pixel?
- 25. Tốt hơn để sử dụng các phụ thuộc nhiệm vụ hoặc task.doLast trong Gradle?
- 26. Có tốt hơn khi sử dụng lại một StringBuilder trong một vòng lặp không?
- 27. Điều gì tốt hơn: DataSet hoặc DataReader?
- 28. Mảng hoặc mảng cấu trúc số nguyên - tốt hơn?
- 29. Có khung ứng dụng Java tốt hơn Swing không?
- 30. GLSL có sử dụng SLI không? OpenCL? Điều gì là tốt hơn, GLSL hoặc OpenCL cho nhiều GPU?
Nếu hình ảnh nguồn của bạn thực sự là một png, gif, jpeg, hoặc bất cứ điều gì, bạn phải sử dụng EncodedImage. Khi bạn thiết lập một BitmapField, bạn có thể tạo nó bằng một Bitmap hoặc thiết lập một EncodedImage sau này. Thật kỳ lạ, bạn chỉ có thể đặt tiêu điểm trong khi tạo, trong đó Bitmap là bắt buộc. Bitmap sẽ sử dụng nhiều bộ nhớ hơn (hình ảnh được giải mã đầy đủ) trừ khi EncodedImage nội bộ cũng giữ một bản sao được giải mã (không có ý tưởng - có thể phụ thuộc vào phiên bản JDE), nhưng tôi đã nhận thấy getBitmap() thường rất nhanh. Bạn có thể cần phải làm hồ sơ của riêng bạn để xem trong trường hợp sử dụng chính xác của bạn ... – lilbyrdie
Không phải đó là một câu trả lời thay vì một bình luận? :) – KarolDepka