The inner classes in BillingService: BillingRequest and its subclasses are not
static, and as such, keep a reference (hidden, generated by the compiler) to
the containing class instance, which is BillingService.
At the same time, they are entered into a static array, mPendingRequests.
If the service is stopped and restarted, any exising request objects will keep
their references to the original service instance, and refer to that (dead)
instance when calling methods of BillingService. At the same time, the original
service instances will be prevented from being GC'd.
Original issue reported on code.google.com by kmans...@gmail.com on 18 Aug 2011 at 10:13
Original issue reported on code.google.com by
kmans...@gmail.com
on 18 Aug 2011 at 10:13