Yêu cầu thg 5 16, 2018 1:55 SA 217 0 3
  • 217 0 3
+1

How to fix Transactiontoolargeexception for Android

Chia sẻ
  • 217 0 3

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


Đã trả lời thg 5 16, 2018 2:29 SA
Đã được chấp nhận
+4

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

Chia sẻ
Đã trả lời thg 5 16, 2018 2:27 SA
+2

đưa về string json được không bạn?

Chia sẻ
Đã trả lời thg 5 16, 2018 2:32 SA
+2

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

Chia sẻ
Avatar Kids @Lynk
thg 5 16, 2018 3:41 SA

Array em lưu vào trong Bundle cụ thể là trong hàm onSaveInstanceState

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí