Quá muộn cho bữa tiệc ở đây, nhưng tôi sẽ cung cấp 0,02 đô la cho tôi.
Nó không phải là một ý tưởng tốt để sử dụngandroid:largeHeap="true"
đây là trích từ google giải thích nó,
Tuy nhiên, khả năng để yêu cầu một đống lớn chỉ dành cho một nhóm nhỏ của ứng dụng có thể biện minh cho việc cần tiêu thụ nhiều RAM hơn (chẳng hạn làm ứng dụng chỉnh sửa ảnh lớn). Không bao giờ yêu cầu một đống lớn chỉ đơn giản là vì bạn đã hết bộ nhớ và bạn cần sửa chữa nhanh — bạn chỉ nên sử dụng nó khi bạn biết chính xác nơi tất cả bộ nhớ của bạn đang được phân bổ và lý do tại sao nó phải được giữ lại. Tuy nhiên, ngay cả khi bạn tự tin ứng dụng của bạn có thể biện minh cho đống lớn, bạn nên tránh yêu cầu nó đến bất kỳ mức độ nào có thể. Việc sử dụng bộ nhớ bổ sung sẽ càng ngày càng trở nên gây tổn hại cho trải nghiệm người dùng tổng thể vì bộ sưu tập rác sẽ mất nhiều thời gian hơn và hiệu năng hệ thống có thể chậm hơn khi chuyển đổi hoặc thực hiện các tác vụ phổ biến khác.
đây là liên kết hoàn chỉnh các tài liệu https://developer.android.com/training/articles/memory.html
CẬP NHẬT
Sau khi làm việc excrutiatingly với out of memory errors
tôi sẽ nói thêm này để biểu hiện để tránh những vấn đề oom không phải là một tội lỗi , cũng như @Milad chỉ ra bên dưới nó không ảnh hưởng đến hoạt động bình thường của ứng dụng
CẬP NHẬT 2
Dưới đây là một vài lời khuyên để đối phó với out of memory errors
1) Sử dụng các callback mà android cho onLowMemory
, onTrimMemory(int)
và xóa bộ nhớ cache của hình ảnh tương tự (picasso, glide, fresco ....) bạn có thể đọc thêm về chúng here và here
2) nén tệp của bạn (hình ảnh, pdf)
3) đọc về cách xử lý bitmap hiệu quả hơn here
4) Sử dụng lint thường xuyên trước khi sản xuất đẩy để đảm bảo mã là kiểu dáng đẹp và không cồng kềnh
Nguồn
2015-06-19 05:01:26
nếu bạn cần bộ nhớ lớn cho ứng dụng của mình như trò chơi 3dmodels, vv – jenuine
50 lớp không nhiều. –
https://developer.android.com/training/articles/memory.html – jenuine