iOS uses ARC for memory manegement, which causes the "refresh cycle" whenever our device is low on RAM. What happens here is that the compiler handles the memory managment for you. Retain cycles in inactive apps are released from the memory. Instead of taking back Object B it creates an Object C as so retain A can have something to retain to. Android uses Garbage collection for memory management, which doesn't cause "refresh cycle", but for the android device to work smoothly, it should have 4 to 8 times the RAM needed, this also needs larger batteries and larger storages. What happens here is that when an app doesn't is inactive, one of the objects in the retain cycles are released from the memory and stored in the device, and when you come back it is taken from the storage and is returned to the memory. Which one do you think is a better memory manager?