views:

494

answers:

2

There appear to be a lot of unnecessary frameworks loading into my iPhone app. I didn't link against them in Xcode, and I don't need them.

When I run "lsof -p" against them on the iPhone, I see these (and others) that I can't explain:

  • CoreVideo
  • AddressBookUI
  • JavaScriptCore
  • MobileSync
  • EAP8021X
  • BluetoothManager
  • MusicLibrary
  • CoreAudio
  • MobileMusicPlayer
  • AddressBook
  • CoreTelephony
  • MobileBluetooth
  • Calendar
  • TelephonyUI
  • WebCore / WebKit
  • MediaPlayer
  • VideoToolbox

I wonder whether this is contributing to the slow startup times. My app is very simple. It is basically a Twitter-like posting client. The only multimedia function is to pick an image from the camera or library, and it uses simple NSURL / NSURLConnection functions to post data to a couple of web services.

This is a jailbroken 2.1 iPhone with a few apps installed from Cydia. Is this normal?

+2  A: 

This is normal, but that doesn't mean it's ideal. It probably only has a small impact on app startup time, but it'll have a slightly greater impact than that on memory usage.

If you'd like this to be improved, the best thing to do is to head on over to Apple's bug reporter and file a bug about it. Attach a copy of your application (the binary, not the source) and they should be able to track things down from there. I'm sure they'd be interested in reports like this.

Eric Albert
+3  A: 

Before you go to all of the trouble of trying to stop the OS from loading these frameworks, you should rule out other causes of your slow launch time.

First, build a "Hello, World" app and use it as a baseline. A project template app with nothing added should serve well. If that is starting up faster than your own app, then it is something you are doing in your own code.

benzado