Android 在Intent中傳遞接口


總結:在Activity中不能用intent傳遞匿名接口,原因如下:Activity A中生成了匿名接口M, 這個接口的引用就在組Activity A中,Activity A會禁止接口M 序列化.因為如果接口M被序列化並發送到其他組件,那么就會保持在Activity A中的引用,這樣Activity A就不能被垃圾回收,造成內存泄露。

所以解決方案是:在Activity中定義一個解決M的靜態實現類N,這樣,N的引用將是靜態的,即使在Activity間被傳輸,也沒必要保持Activity A的引用,不會造成內存泄露,所以N 就 is allowed to be sent by intent 了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM