2010-05-30 24 views
6

khi tôi tải dữ liệu lớn từ trang web, tôi đã nhận thông tin lỗi này:java.lang.OutOfMemoryError android

I/global (20094): Default buffer size used in BufferedInputStream constructor. 
It would be better to be explicit if an 8k buffer is required. 
D/dalvikvm(20094): GC freed 6153 objects/3650840 bytes in 335ms 
I/dalvikvm-heap(20094): Forcing collection of SoftReferences for 3599051-byte al 
location 
D/dalvikvm(20094): GC freed 320 objects/11400 bytes in 144ms 
E/dalvikvm-heap(20094): Out of memory on a 3599051-byte allocation. 
I/dalvikvm(20094): "Thread-9" prio=5 tid=17 RUNNABLE 
I/dalvikvm(20094): | group="main" sCount=0 dsCount=0 s=0 obj=0x439b9480 
I/dalvikvm(20094): | sysTid=25762 nice=0 sched=0/0 handle=4065496 

bất cứ ai có thể giúp tôi?

+0

Nó hết bộ nhớ, rõ ràng ... bạn cần trợ giúp chính xác những gì? – flodin

+2

Ít nhất cung cấp đầy đủ stacktrace và một số thông tin ngữ cảnh về cách bạn tải xuống dữ liệu (xem, thông báo lỗi nói về BufferedInputStream) –

Trả lời

1

Ứng dụng riêng lẻ không có quyền truy cập vào tất cả bộ nhớ thiết bị khả dụng. Nếu bạn đang tải xuống một tập dữ liệu lớn, hãy cân nhắc viết nó vào thẻ SD khi bạn đi thay vì cố giữ nó hoàn toàn trong bộ nhớ.

+4

Ngoại lệ OutOfMemory thường không phải làm với bộ nhớ đĩa nhưng heap hoặc bộ nhớ/ram. (xem http://java.sun.com/j2se/1.4.2/docs/api/java/lang/OutOfMemoryError.html) –

+0

hi, adamp, tôi đã quen với SDCard, nhưng nó vẫn là OutOfMemory. Bạn có thể cho tôi biết làm thế nào để tái chế Drawable? – androiddream

+0

@Toni: Bạn thường có thể xử lý dữ liệu theo khối đến hoặc từ bộ nhớ cục bộ trong các trường hợp cố gắng tải toàn bộ tập dữ liệu vào bộ nhớ cùng một lúc sẽ dẫn đến OOM. @xiangdream: Nếu dữ liệu lớn của bạn là hình ảnh ở dạng Drawables (BitmapDrawables?) Hãy xem các phương thức giải mã BitmapFactory và trường inSampleSize của BitmapFactory.Options. Bạn có thể định lại kích thước hình ảnh thành kích thước nhỏ hơn trong khi tải hình ảnh đó để tiết kiệm bộ nhớ. http://developer.android.com/reference/android/graphics/BitmapFactory.html Một số thông tin khác về những gì bạn đang cố gắng làm sẽ hữu ích. :) – adamp

Các vấn đề liên quan