рдбрд╛рд▓реНрд╡рд┐рдХ рдореЗрдВ рдПрдХ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдЙрди рдЯреВрд▓ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред
рд╕реНрдореГрддрд┐ рдХреЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рдПрдХ рдореЗрдореЛрд░реА рд▓реАрдХ рд▓рдЧрд╛рддрд╛рд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░реАрди рдХреЛ рдЫреВрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдВрддрддрдГ
рдЖрдЙрдЯрдСрдлрдореИрд░реАрдСрд░реНрд░рд░ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдФрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ, рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕реВрдХреНрд╖реНрдо, рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡реЗрджрди рдФрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛)ред
рдЙрдкрдХрд░рдг
рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рджреЛ рдореБрдЦреНрдп рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
рдбреАрдбреАрдПрдордПрд╕ рдореЗрдВ рдЖрд╡рдВрдЯрди рдЯреНрд░реИрдХрд░ рдЯреИрдм рдФрд░ рдвреЗрд░ рдбрдВрдкред рдЖрд╡рдВрдЯрди рдЯреНрд░реИрдХрд░ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЧрдП рдвреЗрд░ рдХреА рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрд╡рдВрдЯрди рдЯреНрд░реИрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП,
рдЯреНрд░реИрдХрд┐рдВрдЧ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рджреЗрдЦреЗрдВред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕рд╛ рдвреЗрд░ рдбрдВрдк рдЕрдиреБрд╕рдВрдзрд╛рди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред
рдПрдХ рдвреЗрд░ рдбрдВрдк рдкреВрд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реАрдк рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реИ, рдЬреЛ HPROF рдкреНрд░рд╛рд░реВрдк рдХреА рдПрдХ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред Dalvik рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ Java рдореЗрдВ
HPROF рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред
рдЪрд▓ рд░рд╣реЗ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдвреЗрд░ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
рдбреАрдбреАрдПрдордПрд╕ рдореЗрдВ
рдбрдВрдк рдПрдЪрдкреАрдЖрд░рдУрдПрдл рдлрд╝рд╛рдЗрд▓ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдбрдВрдк рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХреНрд╖рдг рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ
android.os.Debug.dumpHprofData () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдорд╛рдирдХ
jhat рдЯреВрд▓ рдпрд╛
рдЧреНрд░рд╣рдг рдореЗрдореЛрд░реА рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ (MAT) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ .vik рдлрд╝рд╛рдЗрд▓ рдХреЛ Dal2 рдлреЙрд░реНрдореЗрдЯ рд╕реЗ J2SE HPROF рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдВрдбреНрд░реЙрдЗрдб SDK рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реА
hprof-conv рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░реЗрдВ :
hprof-conv dump.hprof converted-dump.hprof
рдЙрджрд╛рд╣рд░рдг: рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛
Dalvik рдореЗрдВ, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореБрдлреНрдд рдореЗрдореЛрд░реА рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ C рдФрд░ C ++ рдореЗрдВред "рдореЗрдореЛрд░реА рд▓реАрдХ" рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рдРрд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрднреА-рдХрднреА, рдПрдХ рдПрдХрд▓ рд▓рд┐рдВрдХ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЗрдП рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рд╕реЗ
рд╣рдиреАрдХреЙрдореНрдм рдЧреИрд▓рд░реА рдирдореВрдирд╛ рдРрдк рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлреЛрдЯреЛ рдЧреИрд▓рд░реА рд╣реИ рдЬреЛ рд╣рдиреАрдХреЙрдореНрдм рдореЗрдВ рдирдП рдПрдкреАрдЖрдИ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдореЗрдореЛрд░реА рд░рд┐рд╕рд╛рд╡ рдмрдирд╛рдПрдВрдЧреЗ, рдлрд┐рд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдо рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджреЗрдЦреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо
ContentFragment.java рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдХреНрд╖рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рдирдП рдЪрд░ рдХреЛ рдШреЛрд╖рд┐рдд рдФрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
private static HashMap<String,Bitmap> sBitmapCache = new HashMap<String,Bitmap>();
рдЗрд╕ рдореИрдкрд┐рдВрдЧ рдореЗрдВ, рд╣рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдмрд┐рдЯрдореИрдк рдХреЛ рдХреИрд╢ рдХрд░ рджреЗрдВрдЧреЗред рдЕрдм рдЖрдк рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреИрд╢ рдореЗрдВ рдмрд┐рдЯрдореИрдк рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдЕрдкрдбреЗрдЯрдХреЙрдиреНрдЯреЗрдВрдЯрдПрдВрдб рд░реАрд╕рд╛рдпрдХрд▓рдмреАрдЯрдо () рд╡рд┐рдзрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
void updateContentAndRecycleBitmap(int category, int position) { if (mCurrentActionMode != null) { mCurrentActionMode.finish(); } // Get the bitmap that needs to be drawn and update the ImageView. // Check if the Bitmap is already in the cache String bitmapId = "" + category + "." + position; mBitmap = sBitmapCache.get(bitmapId); if (mBitmap == null) { // It's not in the cache, so load the Bitmap and add it to the cache. // DANGER! We add items to this cache without ever removing any. mBitmap = Directory.getCategory(category).getEntry(position) .getBitmap(getResources()); sBitmapCache.put(bitmapId, mBitmap); } ((ImageView) getView().findViewById(R.id.image)).setImageBitmap(mBitmap); }
рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдмрдирд╛рдИ: рдмрд┐рдЯрдореИрдкреНрд╕ рдХреЛ рдХреИрд╢ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╣рдЯрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡реЗрджрди рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреИрд╢ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдбреАрдбреАрдПрдордПрд╕ рдХреЗ рд╕рд╛рде рдвреЗрд░ рдЕрдиреНрд╡реЗрд╖рдг
Dalvik Debug Monitor Server (DDMS) Android рдореЗрдВ рдореБрдЦреНрдп рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреВрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рдЧреНрд░рд╣рдг рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП
ADT рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЗ Android KK рдХреЗ
рдЯреВрд▓ / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП,
DDMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рджреЗрдЦреЗрдВред
рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдвреЗрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдбреАрдПрдордПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдк рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдбреАрдбреАрдПрдордПрд╕ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЧреНрд░рд╣рдг рд╕реЗ: рд╡рд┐рдВрдбреЛ -> рдУрдкрди рдкрд░реНрд╕рдкреЗрдХреНрдЯрд┐рд╡ -> рдЕрдиреНрдп ...> рдбреАрдбреАрдПрдордПрд╕
- рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ: рдЙрдкрдХрд░рдг / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ ddms (рдпрд╛ рдореИрдХ / рд▓рд┐рдирдХреНрд╕ рдкрд░ .ddms) рдЪрд▓рд╛рдПрдВ
рдмрд╛рдПрдВ рдлрд▓рдХ рдореЗрдВ
com.example.android.hcgallery рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ
рд╢реЛ рд╣реАрдк рдЕрдкрдбреЗрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдлрд┐рд░
рдбреАрдбреАрдПрдордПрд╕ рдореЗрдВ
рд╡реАрдПрдо рд╣реАрдк рдЯреИрдм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред рдЖрдк рдвреЗрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рд░ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдЕрдкрдбреЗрдЯ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП,
рдХреЙрдЬ GC рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "рдЬреАрд╡рд┐рдд" рд╡рд╕реНрддреБрдПрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ 8 рдПрдордмреА рд╕реЗ рдХрдо рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рддреА рд╣реИрдВ (
рдЖрд╡рдВрдЯрд┐рдд рдХреЙрд▓рдо рджреЗрдЦреЗрдВ)ред рдЕрдм рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ, рдФрд░ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреИрд╕реЗ рдмрдврд╝рддреА рд╣реИред рдЪреВрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ 13 рддрд╕реНрд╡реАрд░реЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрдореЛрд░реА рд▓реАрдХ рд╕реАрдорд┐рдд рд╣реИред рдПрдХ рддрд░рд╣ рд╕реЗ, рдпрд╣ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬреЛ рдХрднреА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдХрднреА рднреА
рдЖрдЙрдЯрдСрдлрдореЗрд░реАрдСрд░рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╣реАрдк рдбрдВрдк
рдбреАрдбреАрдПрдордПрд╕ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ
рдбрдВрдк рдПрдЪрдкреАрдЖрд░рдУрдПрдл рдлрд╝рд╛рдЗрд▓ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдФрд░
hprof-conv рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд
рдХрд░реЗрдВ ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо MAT (1.0.1) рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдпрджрд┐ рдЖрдк рдИрдЯреАрдИрдПрд╕ рдХреЗ рд╕рд╛рде MAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдбрдВрдк рдПрдЪрдкреАрдЖрд░рдУрдПрдл" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдПрдХреНрд▓рд┐рдкреНрд╕ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреБрд▓ рдЬрд╛рдПрдЧреАред
MAT рдХреЗ рд╕рд╛рде рдвреЗрд░ рдбрдВрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг
MAT рдЪрд▓рд╛рдПрдВ рдФрд░ рдЙрд╕ HPROF рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ рдЬреЛ рдЕрднреА рдмрдирд╛рдИ рдЧрдИ рдереАред MAT рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд╣рд░ рдЗрд╕рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рддрд░реАрдХреЗ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд░рд┐рд╕рд╛рд╡ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдП - рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рджреГрд╢реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдЗрд╕ рджреГрд╢реНрдп рдореЗрдВ, рдЖрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЙрдерд▓реЗ рд╣реАрдк (рдЙрджрд╛рд╣рд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдХреБрд▓ рдореЗрдореЛрд░реА рдЖрдХрд╛рд░), рдпрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдвреЗрд░ (рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА, рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ) рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк
рдЙрдерд▓реЗ рд╣реАрдк рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рдЗрдЯ [] рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб 3.0 рдореЗрдВ, рдмрд┐рдЯрдореИрдкреНрд╕ рдХреЛ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рдмрд┐рдЯрдореИрдк рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рдмрд┐рдЯрдореИрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдЯ [] рд╡рд░реНрдЧ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕> рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЖрдк рдвреЗрд░ рдкрд░ рд░рдЦреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рднреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВрдЧреЗред
рдмрдбрд╝реА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЦреЛрд▓реЗрдВред рдирддреАрдЬрддрди, рдЖрдк рд▓рд┐рдВрдХ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░рдг рдмрдирддреА рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ - рдмрд┐рдЯрдореИрдк рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдХреИрд╢!

MAT рд╕рдЯреАрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд░рд┐рд╕рд╛рд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреВрд░реЗ рдЖрд╡реЗрджрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреИрд╢ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред
рдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдвреЗрд░ рдбрдВрдк
рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛрдиреЗ рдкрд░, рд╕рдордп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдвреЗрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдПрдЪрдкреАрдЖрд░рдУрдПрдл рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВ (рдЙрдиреНрд╣реЗрдВ
hprof-conv рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ)ред
рдпрд╣рд╛рдБ рдЖрдк рдЗрди рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ ( рдлрд╝рд╛рдЗрд▓> рдУрдкрди рд╣реАрдк рдбрдВрдк )ред
- рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рджреГрд╢реНрдп рдЦреЛрд▓реЗрдВред
- рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЗрддрд┐рд╣рд╛рд╕ рджреГрд╢реНрдп (рд╡рд┐рдВрдбреЛ> рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЗрддрд┐рд╣рд╛рд╕) рдореЗрдВ, рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЯреЛрдХрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЪреБрдиреЗрдВред
- рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЪрд░рдг 2 рдФрд░ 3 рджреЛрд╣рд░рд╛рдПрдВред
- рддреБрд▓рдирд╛ рдЯреЛрдХрд░реА рджреГрд╢реНрдп рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ (рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рд▓рд╛рд▓ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрд╡рдВрдЯрди рдЯреНрд░реИрдХрд░ рдФрд░ рдбрдВрдк рдвреЗрд░ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдпрд╣ рднреА рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ MAT рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк MAT рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: