2011-08-23 38 views
5

Tôi nhận được ngoại lệ OutOfMemory khi chạy dự án của tôi trên cả hai giả lập và thiết bị (tablet acer và samsung galaxy) cho thấyOutOfMemory trên cả hai thiết bị và giả lập

quá trình phóng ứng dụng com.android.launcher đã ngừng đột ngột.

Tôi đã tăng kích thước máy ảo của trình mô phỏng lên 256MB nhưng vẫn không có thay đổi trong ngoại lệ đó. Làm cách nào để tránh ngoại lệ này? Và làm thế nào tôi có thể tăng kích thước quá trình của heap cho cả giả lập và thiết bị?

Vui lòng tham khảo to this question

+1

có thể là nó liên quan cụ thể đến dự án của bạn không? bạn làm gì để thoát khỏi ngoại lệ bộ nhớ? stacktrace là gì? – codeScriber

+0

Nguyên nhân có thể nằm trong dự án của bạn không? Nếu có, thì bạn có thể phải tiết lộ thêm chi tiết về dự án và có lẽ cố gắng tìm các đoạn mã có thể chịu trách nhiệm về hành vi đó. Bạn đã cố gắng tìm xem kích thước vm lớn hơn có thể xử lý dự án không? –

+0

Khi tôi chạy ứng dụng của tôi ... tôi đang nhận được ra khỏi bộ nhớ và nếu tôi buộc đóng này tôi thường có thể chạy các ứng dụng ... ngay cả ở giữa các ứng dụng cũng tôi nhận được lỗi này. – Taruni

Trả lời

5

Tôi không biết những loại ứng dụng mà bạn đang chạy, nhưng nó có thể rằng bạn có một rò rỉ bộ nhớ trong ứng dụng của bạn. Sau đó, nó sẽ không quan trọng như thế nào lớn bạn thiết lập kích thước máy ảo của bạn.

Khám phá video bên dưới về cách tìm rò rỉ bộ nhớ trong ứng dụng của riêng bạn. Hoạt động trên các thiết bị và trình giả lập. (Tôi tìm thấy một rò rỉ bộ nhớ rất lớn vào tuần trước, mà tôi không biết là tôi đã có trong ứng dụng)

http://www.youtube.com/watch?v=_CruQY55HOk&feature=player_embedded

+0

Bài thuyết trình trong video rất hữu ích - anh chàng làm việc đó là trên nhóm Android tại Google (cuộc nói chuyện từ Google IO). Các bộ phận về công cụ phân tích bộ nhớ thực sự tốt. –

+0

Theo tôi biết đó là cách dễ dàng nhất để tìm rò rỉ bộ nhớ trong ứng dụng của bạn. Nó đã giúp tôi rất nhiều. –

0

Trừ khi bạn đang làm một cái gì đó cực đoan và thực sự cần rất nhiều bộ nhớ, bạn không nên phải sử dụng để tăng dung lượng bộ nhớ. Lỗi gây ra điều này có thể sẽ chạy trên bất kỳ bộ nhớ bổ sung nào mà bạn cung cấp.

Xem xét kỹ hơn những gì xảy ra trước lỗi hết bộ nhớ. Gần đây tôi đã thấy rằng một vì tôi gây ra một vòng lặp thay đổi cấu hình vô tận. Điều duy nhất dừng vòng lặp vô tận đó đã hết bộ nhớ.

Trong khi một vài dòng phía trên lỗi có vẻ tốt, tôi nhận thấy rằng số lượng mục nhập nhật ký cao hơn nhiều so với bình thường, vì nó chạy qua khởi tạo cho hoạt động của tôi nhiều lần.

Sự cố của bạn có thể khác, nhưng tôi khá chắc chắn rằng việc tăng kích thước heap sẽ không khắc phục được.

+1

u r chính xác tăng kích thước heap không khắc phục vấn đề này ... – Taruni

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