package Ġleak can ary . internal Ċ Ċ import Ġandroid . app . Application Ċ import Ġleak can ary . On Object Ret ained Listener Ċ Ċ internal Ġobject ĠLe ak Can ary Delegate Ġ{ ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġval Ġload Leak Can ary Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleak Can ary Listener Ġ= ĠClass . forName (" leak can ary . internal . Internal Leak Can ary ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleak Can ary Listener . getDeclared Field (" INSTANCE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( null ) Ġas Ġ( Application ) Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNo Leak Can ary ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠNo Leak Can ary Ġ: Ġ( Application ) Ġ-> ĠUnit , ĠOn Object Ret ained Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( application : ĠApplication ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Object Ret ained () Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }