How to fix Transactiontoolargeexception for Android
Hiện tại em đang bị lỗi Transactiontoolargeexception trên android khi cố khi lưu một Array với kích thước lớn dẫn tới tình trạng crash app. Em đã tìm kiếm trên mạng và thử áp dụng theo nhưng không thành công. Anh em trong này ai fix được lỗi này xin giúp em với. Xin chân thành cảm ơn.
3 CÂU TRẢ LỜI
Nếu ko nhầm thì crash này liên quan đến việc bạn truyền data quá lớn qua intent giữa các activity với nhau, nếu vậy thì bạn có thể giải quyết bằng cách:
- Tạo file singleton để chứa, sang activity bên kia chỉ việc dùng
- Dùng gson hoặc jsonobject -> chuyển về dạng String -> sang bên kia dùng thì convert lại
- hoặc có thể lưu db chỉ truyền id qua thằng bên kia dùng thì query lại
- hoặc có thể dùng SharedPreference Intent chỉ truyền đc data <=1MB thôi nhé (tested on API 10, 16, 19 and 23) bạn có thể tham khảo thêm ở đây
https://stackoverflow.com/questions/12496700/maximum-length-of-intent-putextra-method-force-close
Em có thể nói rõ hơn là array em lưu vào đâu, gồm bao nhiêu phần tử, tốt hơn có thể upload code lên đây Có thể minimize bằng cách phân trang được không ? Theo google thì nên tránh việc trao đổi dữ liệu trên 1MB
Array em lưu vào trong Bundle cụ thể là trong hàm onSaveInstanceState