PList for SpriteFrameCache on Android Loading issues

So I am running into some weird issue I can’t quite figure out when it comes to loading sprite sheets on android. Basically Android seems to be requiring me to load all my sprite sheets up front instead of when needed like say loading a new scene/layer. On iOS this would crash most devices and indeed it does so heres some code I’m running to show what I am doing and if anyone knows a way around this.

This is in the init function of my running scene.

    // Load Textures
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(CCLocalizedString("landingPlist", "landingPlist"));

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
        CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(CCLocalizedString("builderPlist", "builderPlist"));
        CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(CCLocalizedString("builderGeneralPlist", "builderGeneralPlist"));
    #elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
        // iOS can't handle all that. Hopefully older android can need to check.
    #endif

This is in the function where I would normall swap scenes and load the Builder Scene

    // Some reason android wants it all right away
    // iOS can't handle that sort of thing
    // Need to check old android.
    #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
        // Already loaded in initController
    #elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
        CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(CCLocalizedString("builderPlist", "builderPlist"));
        CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(CCLocalizedString("builderGeneralPlist", "builderGeneralPlist"));
    #endif

Basically the iOS ones work as expected and really as it should be programmed but for some reason when on Android if I was to run this without the IF blocks as it should be the app crashes when trying to go into the builder because it cannot find the images to load.

So to sum it up: Why does Android want all plist files loaded up front during init(). Is there some sort of spriteFramesLoaded Listener that perhaps I don’t know about to make sure its all loaded before moving on?