Asked May 16th, 2018 1:55 AM 110 0 3
  • 110 0 3
+1

How to fix Transactiontoolargeexception for Android

Share
  • 110 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 ANSWERS


Answered May 16th, 2018 2:29 AM
Accepted
+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

Share
Answered May 16th, 2018 2:27 AM
+2

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

Share
Answered May 16th, 2018 2:32 AM
+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

Share
Kids @Lynk
May 16th, 2018 3:41 AM

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

0
| Reply
Share