рд╣рд╛рдп Android рдбреЗрд╡рд▓рдкрд░реНрд╕!
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ URL рджреНрд╡рд╛рд░рд╛ рд▓реЛрдбрд┐рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рддреИрдпрд╛рд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдРрд╕реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдЗрдореЗрдЬ рд▓реЛрдбрд░ (рдпреВрдЖрдИрдПрд▓), рдкрд┐рдХрд╛рд╕реЛ рд╣реИред рдЬрдм рдореИрдВ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрд╕рдиреЗ рдЗрд╕ рдпрд╛ рдЙрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдХреНрдпреЛрдВ рдЪреБрдирд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрддреНрддрд░ рдорд┐рд▓рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдкрд┐рдХрд╛рд╕реЛ / рдпреВрдЖрдИрдПрд▓ рдХреЛ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ", рдпрд╛ "рд╕реНрдХреНрд╡рд╛рдпрд░ рдХреЗрд╡рд▓ рд╕рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ", рдпрд╛ рдмрд╕ "рд╣рд╛рдВ, рдореИрдВ рдпреВрдЖрдИрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдФрд░ рдЕрдЪреНрдЫрд╛ред"
рддреЛ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛: рдЗрди 2 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рдореИрдВ UIL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдкреБрд░рд╛рдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ OutOfMemory рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдкрд┐рдХрд╛рд╕реЛ рдЗрд▓рд╛рдЬ рд╣реИ?
рддреЛ рдЗрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдордиреЗ рдЖрдпрд╛ред
рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп: рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдпреВрдЖрдИрдПрд▓ рдпрд╛ рдкрд┐рдХрд╛рд╕реЛ) рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдореЗрдореЛрд░реА рдХрд╛ рдиреНрдпреВрдирддрдо рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ:- рдЫреЛрдЯреА рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (240x240)
- рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (> рдХрд┐рд╕реА рднреА рдЖрдпрд╛рдо рдореЗрдВ 400px)
- рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ ImageView рдЖрдпрд╛рдореЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ
- рдЫреЛрдЯреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЧреЛрд▓ рдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
- рдмрдбрд╝реА рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ RGB565 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рддрдХрдиреАрдХ:рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо 2 рдХреЙрд▓рдо рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдбрд╛рдкреНрдЯрд░ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ URL рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рд╣реА рдкрд░реАрдХреНрд╖рдг рдХреА рд╕реНрдерд┐рддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВред
1 рд╕реЗрдХрдВрдб рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде, рд╕реВрдЪреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкрд╛рд╕ рдиреАрдЪреЗ рдФрд░ рдлрд┐рд░ 4 рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рдореЗрдВ рдмрдирд╛рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХреЛ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЛ 3 рдЪрд░рдгреЛрдВ рдореЗрдВ рдорд╛рдкрддреЗ рд╣реИрдВ:
- рдкрд╣рд▓рд╛ рд░рди - рдПрдХ рд╕рд╛рдл рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреИрд╢ рдХреЗ рд╕рд╛рде;
- рджреВрд╕рд░рд╛ рд▓реЙрдиреНрдЪ: рдкрд╣рд▓реЗ рдкрд╛рд╕ рдХреЗ рдмрд╛рдж рдЖрд╡реЗрджрди рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛;
- рддреАрд╕рд░рд╛ рд▓реЙрдиреНрдЪ - рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд┐рдП рдмрд┐рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рджред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреИрд╢ рдЖрдХрд╛рд░ рд▓рд┐рдЦрд╛, рдЬреЛ рдкреБрд░рд╛рдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
github.com/artemmanaenko/ImageLoadersTest рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреНрд░реЗрдбрд▓ рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рд┐рдд рдХреА рдЧрдИ рд╣реИред
рддреЛ, рдиреАрдЪреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╡рд╛рдИ рдЕрдХреНрд╖ - рдПрдордмреА рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реАред рдПрдХреНрд╕ рдЕрдХреНрд╖ - рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рд╕рдордпред
рдЫреЛрдЯреЗ рдЪрд┐рддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдХреИрд╢ рдЖрдХрд╛рд░: рдкрд┐рдХрд╛рд╕реЛ = 1.39 рдПрдордмреА, рдпреВрдЖрдИрдПрд▓ = 1.17 рдПрдордмреА
рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдХреИрд╢ рдЖрдХрд╛рд░: рдкрд┐рдХрд╛рд╕реЛ = 3.67 рдПрдордмреА, рдпреВрдЖрдИрдПрд▓ = 5.44 рдПрдордмреА
ImageView рдЖрдХрд╛рд░ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдХреИрд╢ рдЖрдХрд╛рд░: рдкрд┐рдХрд╛рд╕реЛ = 3.67 рдПрдордмреА, рдпреВрдЖрдИрдПрд▓ = 5.44 рдПрдордмреА
рдЫреЛрдЯреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЧреЛрд▓ рдЪрд┐рддреНрд░ рдореЗрдВ рдХреНрд░реЙрдк рдХрд░реЗрдВ
рдХреИрд╢ рдЖрдХрд╛рд░: рдкрд┐рдХрд╛рд╕реЛ = 1.39 рдПрдордмреА, рдпреВрдЖрдИрдПрд▓ = 1.17 рдПрдордмреА
рдмрдбрд╝реА рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ RGB565 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ

рдмрдбрд╝реА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдиреЗ рдореБрдЭреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдпреВрдЖрдИрдПрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдерд╛ред рдХреИрд╢ рдХреЛ рдХреИрд╢ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдб рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ UIL рдореЗрдВ рдХреИрд╢ рдХреЛ RAM рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдФрд░, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЪрд┐рддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдпреЛрдЧреНрдп рд╕реЗрдЯ рдХрд░реЗрдВ - рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдХреНрд░реАрди рдирд╣реАрдВред

рдкреНрд░рдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рджрд┐рдП:
- рдпрджрд┐ рдЖрдкрдХреА рд╕реВрдЪреА рдЫреЛрдЯреА рдЫрд╡рд┐рдпреЛрдВ (ImageView рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ - рддреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЪреБрдирд╛рд╡ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдкрд┐рдХрд╛рд╕реЛ рдПрдХ рд╣реА рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдбрд┐рд╕реНрдХ рдкрд░ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рдХреИрд╢ рдмрдирд╛рддрд╛ рд╣реИред
- рдмрдбрд╝реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдкрд┐рдХрд╛рд╕реЛ рдиреЗ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдЕрджреНрднреБрдд рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдПред рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ UIL рд╕реНрдореГрддрд┐ рдореЗрдВ рдореВрд▓ рдЫрд╡рд┐ рдХрд╛ рднрдВрдбрд╛рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдкрд┐рдХрд╛рд╕реЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд┐рдХрд╛рд╕реЛ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдХреИрд╢ рдмрд╣реБрдд рдХрдо рд╣реИред
- рдпреВрдЖрдИрдПрд▓ рдкрд┐рдХрд╛рд╕реЛ рдХреЗ рд╕рдорд╛рди рджрдХреНрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рдореЗрдВ рдХреИрд╢ рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд рдХрд░реЗрдВред рдпрд╛, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреИрд╢реНрдб рдлрд╝реЛрдЯреЛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ ImageLoader рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рддреА рд╣реИред
- рдкрд┐рдХрд╛рд╕реЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреЛрд▓ рдЕрд╡рддрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ "рд╕рд╕реНрддрд╛" рд╣реИред рд▓реЗрдХрд┐рди, рдлрд┐рд░ рд╕реЗ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВрдиреЗ рдореВрд▓ рдмрд┐рдЯрдореИрдк рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реАрд╕рд╛рдпрдХрд▓ () рдХрд╣рд╛ рдерд╛ред рдЖрдк рдпреВрдЖрдИрдПрд▓ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдмрд┐рдЯрдореИрдкрдбрд┐рд╕рдкреНрд▓реЗрдпрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдкрд┐рдХрд╛рд╕реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреЙрдХреНрд╕ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
рдкрд┐рдХрд╛рд╕реЛpublic class PicassoSquareFitAdapter extends BaseBenchmarkAdapter { public PicassoSquareFitAdapter(Context context, IUrlListContainer urlListContainer) { super(context, urlListContainer); } @Override protected void loadImage(ImageView imageView, String url) { Picasso.with(context).load(url).fit().into(imageView); } }
UIL public class UILSquareFitAdapter extends BaseBenchmarkAdapter { private DisplayImageOptions options; public UILSquareFitAdapter(Context context, IUrlListContainer urlListContainer) { super(context, urlListContainer); ImageLoaderConfiguration config = ImageLoaderConfiguration.createDefault(context); ImageLoader.getInstance().init(config); options = new DisplayImageOptions.Builder() .imageScaleType(ImageScaleType.EXACTLY) .resetViewBeforeLoading(true) .cacheInMemory(true) .cacheOnDisc(true) .build(); } @Override protected void loadImage(ImageView imageView, String url) { ImageLoader.getInstance().displayImage(url, imageView, options); } }
- рдкрд┐рдХрд╛рд╕реЛ рдХреЗ рдкрд╛рд╕ рдПрдХ рдорд╛рдЗрдирд╕ рднреА рд╣реИ: рдЫрд╡рд┐ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдЖрд░рдЬреАрдмреА 565 рдХреЛ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЧреЛрд▓ рдкрд░рд┐рд╡рд░реНрддрди public class RoundTransformation implements Transformation { @Override public Bitmap transform(Bitmap source) { int size = Math.min(source.getWidth(), source.getHeight()); int x = (source.getWidth() - size) / 2; int y = (source.getHeight() - size) / 2; Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size); if (squaredBitmap != source) { source.recycle(); } Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig()); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP); paint.setShader(shader); paint.setAntiAlias(true); float radius = size / 2f; canvas.drawCircle(radius, radius, radius, paint); squaredBitmap.recycle(); return bitmap; } @Override public String key() { return "circle"; } }
Config565Transformation public class Config565Transformation implements Transformation { @Override public Bitmap transform(Bitmap source) { Bitmap resultBitmap = Bitmap.createBitmap( source.getWidth(), source.getHeight(), Bitmap.Config.RGB_565 ); Canvas canvas = new Canvas(resultBitmap); Paint paint = new Paint(); paint.setFilterBitmap(true); canvas.drawBitmap(source, 0, 0, paint); source.recycle(); return resultBitmap; } @Override public String key() { return "Config565Transformation"; } }
рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛: рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкрд┐рдХрд╛рд╕реЛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдореЗрдореЛрд░реА рдУрд╡рд░рд░рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА!