In iOS, things are simple. The deallocating code is very concise and safe. Why having the performance overhead of smart pointers?
On the other hand, it could be useful to have them in Java and avoid manual destruction. However, this wasn't investigated :(