views:

84

answers:

2

I have an app in the appstore which worked well on ALL iDevices (including 128MB RAM)

then i added some features, and now the app crashes on 128MB iDevices.

  • i checked for leaks and fixed them.
  • the memory usage of previous version and current version is the same.
  • i have been searching for the problem for literally days and can't find what it is.

anyone have an idea how to find what it is?

thank you!

+3  A: 

the memory usage of previous version and current version is the same.

Clearly, that isn't the case. :)

In particular, if you have added features, you have added code (and, likely, resources). If you add code, then the compiled executable will be larger. In the case of C++ and use of STL, it may be significantly larger.

So, first, check your code size.

In any case, it sounds like you are right on the edge of memory use for 128MB devices. Keep in mind that the transition from 128MB to 256+MB on the iOS devices is much more than doubling available memory for your app as that RAM is shared by the system and your app. You actually have much less than 128MB available on a 128MB device.

The next step is to use the Allocations instrument to have a look at what is using memory. Then reduce that use.


The number of objects is irrelevant. The size is not. You say the app is crashing, though. If it is crashing, then this isn't just a simple out of memory problem (I should have mentioned that before). Post the crash.

bbum
the binary size is 2 megs, pretty small.. i used "Object Allocations" to monitor the 2 versions and they are using the same allocations (25,000 net objects), the features i added are not using too many objects..is 25,000 reasonable?if not how do i use "Allocations" to find out where i do the allocations. all i get is library function calls and non of my own..
pat
A: 

The crash was saying: "BAD ACCESS" but only on 128 devices. and sometimes it would load, but then when trying to do something it would crash.

SOLVED: i removed the twitter engine i added, and now it works..

thanks you all :)

pat