Xử lý bitmap
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thử cách Compose
Jetpack Compose là bộ công cụ giao diện người dùng được đề xuất cho Android. Tìm hiểu cách hiển thị đồ hoạ trong Compose.
Có một số lý do khiến việc tải bitmap trong ứng dụng Android của bạn gặp khó khăn:
- Bitmaps có thể dễ dàng làm cạn kiệt ngân sách bộ nhớ của ứng dụng. Chẳng hạn như máy ảnh trên điện thoại Pixel chụp ảnh lên đến 4048x3036 pixel (12 megapixel).
Nếu cấu hình bitmap được sử dụng là
ARGB_8888
, mặc định cho Android 2.3 (API cấp 9) trở lên, việc tải một ảnh vào bộ nhớ sẽ chiếm khoảng 48 MB bộ nhớ (4048*3036*4 byte). Nhu cầu bộ nhớ lớn như vậy có thể ngay lập tức sử dụng hết bộ nhớ có sẵn cho ứng dụng.
- Việc tải bitmap trên luồng giao diện người dùng có thể làm giảm hiệu suất của ứng dụng, gây ra tình trạng phản hồi chậm hoặc thậm chí là hiển thị thông báo ANR. Do đó, điều quan trọng là phải quản lý luồng một cách phù hợp khi làm việc với bitmap.
- Nếu ứng dụng của bạn đang tải nhiều bitmap vào bộ nhớ, bạn cần quản lý bộ nhớ đệm và bộ nhớ đệm của ổ đĩa một cách khéo léo. Nếu không, khả năng phản hồi và tính linh hoạt của giao diện người dùng ứng dụng có thể bị ảnh hưởng.
Đối với hầu hết các trường hợp, bạn nên sử dụng thư viện Glide để tìm nạp, giải mã và hiển thị bitmap trong ứng dụng của mình. Glide tóm tắt hầu hết độ phức tạp trong việc xử lý các tác vụ này và những tác vụ khác liên quan đến việc sử dụng bitmap và các hình ảnh khác trên Android.
Để biết thông tin về cách sử dụng và tải Glide, vui lòng truy cập vào
Kho lưu trữ Glide trên GitHub.
Bạn cũng có thể chọn sử dụng trực tiếp các API cấp thấp hơn được tích hợp trong khung Android.
Để biết thêm thông tin về cách sử dụng này, vui lòng tham khảo bài viết Tải các đối tượng Bitmap lớn một cách hiệu quả, Lưu các Bitmap vào bộ nhớ đệm và Quản lý bộ nhớ trên Bitmap.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2024-06-28 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Thiếu thông tin tôi cần"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Quá phức tạp/quá nhiều bước"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Đã lỗi thời"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Vấn đề về bản dịch"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Vấn đề về mẫu/mã"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Khác"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Dễ hiểu"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Giúp tôi giải quyết được vấn đề"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Khác"
}]
{"lastModified": "C\u1eadp nh\u1eadt l\u1ea7n g\u1ea7n \u0111\u00e2y nh\u1ea5t: 2024-06-28 UTC."}
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2024-06-28 UTC."]]