none
Silverlight General FAQ: Apa yang harus dilakukan ketika aplikasi Silverlight mengalami kebocoran memori?(Part 2) RRS feed

  • Diskusi Umum

  • Anda harus memberi perhatian khusus ke large object heap, karena itulah di mana large object disimpan. Sekarang jalankan perintah "dumpheap 06b31000!”, Di mana 06b31000 adalah alamat dari large object heap, dan anda akan melihat daftar large object:

     

    Address       MT     Size

    06b31000 0486f9a0       16 Free

    06b31010 03e85668     4096    

    06b32010 0486f9a0       16 Free

    06b32020 03e85668      528    

    06b32230 0486f9a0       16 Free

    06b32240 03e85668     4096    

    06b33240 0486f9a0       16 Free

    06b33250 03e85668     4096    

    06b34250 0486f9a0       16 Free

    06b34260 03e85668     4096    

    06b35260 0486f9a0       16 Free

    06b35270 03e85668     4096    

    06b36270 0486f9a0       16 Free

    06b36280 03e85668      528    

    06b36490 0486f9a0       16 Free

    06b364a0 03e85668      528    

    06b366b0 0486f9a0       16 Free

    06b366c0 03e85668      528    

    total 18 objects

    Statistics:

          MT    Count    TotalSize Class Name

    0486f9a0        9          144      Free

    03e85668        9        22592 System.Object[]

    Total 18 objects

     

    Dalam contoh di atas, kita memiliki 18 objek besar, 9 dari yang array objek. Karena kita baru saja memanggil GC.Collect, kita dapat mengatakan sebagian besar objek tidak dapat dikumpulkan pada saat itu.


    Sekarang
    jika anda memiliki pengetahuan tentang jenis large object apa yang tidak dapat dikumpulkan, anda dapat memeriksa kode anda dan mencoba untuk menemukan mereka. Satu tip lagi: anda dapat menggunakan perintah GCRoot untuk menemukan referensi dari large object!


    Langkah terakhir, jangan memasukkan GC.Collect dalam kode produksi. Sementara itu garbage collector dipaksa untuk dapat melepaskan beberapa memori. Hal ini dapat menyebabkan aplikasi yang akan diblokir sementara. Hal ini terutama terjadi ketika sebuah compact diperlukan, yang mirip dengan disk defragment.


    Untuk referensi lebih lanjut,
    anda dapat melihat di log post ini.


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Jumat, 24 Juni 2011 08.35
    Moderator