Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8194387
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T04:48:23+00:00 2026-06-07T04:48:23+00:00

The Info I recently launched an app on the AppStore. After testing on the

  • 0

The Info

I recently launched an app on the AppStore. After testing on the simulator thousands of times, and actual devices hundreds of times we finally released our app.

The Problem

Reviews started popping up about app crashes when the user launches the app. We figured that the app crashes on launch on iOS devices with less than (or equal to) 256 Mb of RAM. The following devices are devices our app supports with less than 256:

  • iPod Touch 4G
  • iPhone 3GS
  • iPad 1

The app doesn’t always crash. Sometimes it launches fine and runs smoothly. Other times it crashes. The time from launch (when the user taps the icon) to crash is usually two seconds, which would mean that the system isn’t shutting it down.

Findings

When using Instruments to test on certain devices, I find the following:

  1. There are no memory leaks (I’m using ARC), but there are memory warnings
  2. Items are being allocated like crazy. There are so many allocated items, and even though I’m using ARC it’s as if ARC isn’t doing what it’s supposed to be doing
  3. Because of what I see as “over-allocation”, the result is:

    This app takes (on average) 60 MB of Real Memory and 166 MB of Virtual. When the app launches the memory being used quickly increases until it reaches about 60 MB at which point the view has been loaded.
    Here is a snapshot of the Activity Monitor in Instruments:
    enter image description here

I know that those figures are WAYY to high (although the CPU % never really gets up there). I am worried that ARC is not working properly, or the more likely case: I’m not allocating objects correctly. What could possibly be happening?

The Code and Warnings

In Xcode, there are only a few warnings, none of which pertain to the app launch or any files associated with the launching of the app. I placed breakpoints in both the App Delegate and my viewDidLoad method to check and see if the crash occurred there – it didn’t.

More Background Info

Also, Xcode never generates any errors or messages in the debugger. There are also no crash reports in iTunes Connect, it just says, “Too few reports have been submitted for a report to be shown.” I’ve added crash reporting to my app, but I haven’t released that version.

A Few Questions

I started using Obj-C just as ARC arrived, so I’m new to dealing with memory, allocation, etc. (that is probably obvious) but I’d like to know a few things:
How can I use @autoreleasepool to reduce my memory impact? What do I do with memory warnings, what do I write in the didRecieveMemoryWarning since I’m using ARC?
Would removing NSLog statements help speed things up?

And the most important question:

Why does my app take up so much memory and how can I reduce my whopping 60 MB footprint?

I’d really appreciate any help! Thanks in advance!

EDIT: After testing on the iPhone 4 (A4), we noticed that the app doesn’t crash when run whereas on devices with less than 256 MB of RAM it does.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T04:48:25+00:00Added an answer on June 7, 2026 at 4:48 am

    I finally solved the issue. I spent a few hours pondering why my application could possibly take up more RAM than Angry Birds or Doodle Jump. That just didn’t make sense, because my app does no CALayer Drawing, or complex Open GL Graphics Rendering, or heavy web connection.

    I found this slideshow while searching for answers and slide 17 listed the ways to reduce memory footprint. One thing that stuck out was PNGCrush (Graphics Compression).

    My app contains a lot of custom graphics (PNG files), but I hadn’t thought of them affecting my app in any way, apparently images (when not optimized properly) severely increase an applications memory footprint.

    After installing PNGCrush and using it on a particularly large image (3.2 MB) and then deleting a few unused images I ended up reducing my apps memory footprint from 60+ MB and severe lag to 35 MB and no lag. That took a whopping five minutes.

    I haven’t finished “crushing” all my images, but when I do I’ll update everyone on the final memory footprint.

    For all those interested, here is a link to a blog that explains how to install PNGCrush (it’s rather complicated).

    UPDATE: Instead of using the PNGCrush process (which is very helpful, although time consuming with lots of images) I now use a program called ImageOptim that provides a GUI for multiple scripts like PNGCrush. Heres a short description:

    ImageOptim seamlessly integrates various optimisation tools: PNGOUT, AdvPNG, PNGCrush, extended OptiPNG, JpegOptim, jpegrescan, jpegtran, and Gifsicle.

    Here’s a link to the website with a free download for OS X 10.6 – 10.8. Note, I am not a developer, publisher or advertiser of this software.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I recently released my first app. Having only tested in SDK emulator and on
Background info I recently handed in an assigment for my class on algorithms and
Background info: I've recently decided to take on a project of making a social
I recently came across this website: http://studiostyles.info , which contains a list of color
I recently created a Sinatra app with a login form (no basic auth). To
I have recently inherited a J2EE Struts web app that was written back in
So I recently made an .app wrapper for a zsh script, but when I
I have an Android app created using Titanium's 1.8.2 SDK. I recently got it
I recently heard about JavaScript Object Notation (JSON), and after looking it up, it
Recently I heard about bit vectors, but i cant really find any useful info

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.