-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrating to ARC #80
Comments
We still support 32bit apps. |
I see. So is it possible to add an optional support via preprocessor macros like this? |
Perhaps a better question from me is "why do you want this?". iMedia builds a framework which should be perfectly compatible with an ARC app. If you're seeing a problem with this, that's a bug I'd like to fix. |
I want this because I believe that ARC manages memory better than humans, and specifically better than I do. I want to be able to compile iMedia with ARC and see if it has better memory performance than with manual memory management (and use it if does work better). |
The only way ARC has to use less memory with any significance than manual memory management is if it fixes a leak. And if ARC can do that, pretty much by definition, the static analyzer can too. |
Not exactly, because ARC has some limitations on the code that helps it to manage memory better than what the static analyzer can detect. Otherwise the syntax could be exactly the same (especially without __bridge, weak and strong). |
The The only possible memory usage improvement ARC brings is from its autorelease implementation having the potential to destroy some objects a little earlier. But quite frankly I have no interest in trying to convert and maintain such a large codebase dual-mode (or arguably even triple-mode as we technically support garbage collection still too). If you want to put in the legwork for this, be my guest and we'll see if others are happy with it. But it's a lot of effort for very little gain. |
Why not migrating iMedia to ARC?
The text was updated successfully, but these errors were encountered: