2011-04-12 43 views
5

Như đã được chi tiết bởi nhiều trang web hữu ích, một cách để phân tích mức sử dụng bộ nhớ của các ứng dụng Android là thực thi "kill -10 [PID]" để kích hoạt vùng đổ HPROF. Điều này dường như làm việc trên một số thiết bị, và các logcat thường chứa một cái gì đó như thế này:Tại sao tôi không nhận được kết xuất HPROF từ một số thiết bị nhất định?

I/dalvikvm(32170): threadid=3: reacting to signal 10 
I/dalvikvm(32170): SIGUSR1 forcing GC and HPROF dump 
I/dalvikvm(32170): hprof: dumping VM heap to "/data/misc/heap-dump-tm1302633572-pid32170.hprof-hptemp". 
I/dalvikvm(32170): hprof: dumping heap strings to "/data/misc/heap-dump-tm1302633572- pid32170.hprof". 
I/dalvikvm(32170): hprof: heap dump completed, temp file removed 

Tuy nhiên, trên các thiết bị khác, thực hiện các "giết -10" Kết quả ở đây:

I/dalvikvm(5687): threadid=4: reacting to signal 10 
I/dalvikvm(5687): SIGUSR1 forcing GC (no HPROF) 

Tất cả các thiết bị tôi đang cố gắng này được bắt nguồn từ và tôi đã chắc chắn để chmod/dữ liệu/misc 777. Tôi không nhận được bất kỳ thông báo lỗi sau khi thực hiện "kill -10".

Trong trường hợp đó là hữu ích, đây là những thiết bị mà tôi làm được một bãi HPROF: HTC ACE (Desire HD), HTC G1, HTC Nexus One (T-Mobile)

Và đây là những thiết bị nơi Tôi KHÔNG nhận được một bãi chứa HPROF: Nexus S, Droid, Droid X, Nexus One (AT & T)

Tại sao tôi không thể lấy một bản đổ HPROF từ một số thiết bị nhất định và tôi có thể làm gì để cho phép tôi để có được bãi chứa?

Trả lời

8

Sử dụng DDMS. Nhấp vào biểu tượng thanh công cụ "Dump HPROF File" - nó trông giống như một nửa đầy đủ có thể với một mũi tên chỉ xuống. Làm việc như một sự quyến rũ khi tôi thử nó ngay bây giờ trên Nexus S.

+0

Tuyệt vời, cảm ơn bạn. Có vẻ như điều này cũng giúp tôi không phải chuyển đổi nó bằng hprof-conv. –

+0

đây là sự khác biệt đã tắt tính năng: http://android.git.kernel.org/?p=platform/dalvik.git;a=commitdiff;h=b037a464512c0721bdca969ae19cce3d4b17b083 –

+1

Để rõ ràng cho người đọc trong tương lai, tính năng @Jan Berkel được đề cập đến là SIGUSR1 để buộc một bãi chứa HPROF mà OP được sử dụng để sử dụng. Cách tiếp cận HPROF DDMS vẫn hoạt động AFAIK. – CommonsWare

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