0

スクリーンショットに示されているように、割り当てられたライブ バイトが 7 ~ 8 MB しか表示されていないにもかかわらず、受信したメモリ警告が原因でアプリケーションが何度もクラッシュします。 ここに画像の説明を入力 関連するすべてのクエリを検索しても問題が発生しません。

私は次の概念を使用しています: 1. 共有インスタンス

+ (WSHelper *)sharedInstance
{
    static WSHelper *appInstance = nil;
    if (nil == appInstance)
    {
        appInstance  = [[super allocWithZone:NULL] init];
    }
    return appInstance;
}

2.MBProgressHUD

+ (void)showWaitIndicator:(UIViewController*)parentView
{
    if(![AppGlobals sharedInstance].HUD)
        [AppGlobals sharedInstance].HUD = [[MBProgressHUD alloc] initWithWindow:((AppDelegate *)[UIApplication sharedApplication].delegate).window];
    [((AppDelegate *)[UIApplication sharedApplication].delegate).window addSubview:[AppGlobals sharedInstance].HUD];
    [AppGlobals sharedInstance].HUD.labelText = @"Please Wait...";
    [[AppGlobals sharedInstance].HUD show:TRUE];
}

私を助けてください...

4

1 に答える 1

0

アプリ内のオブジェクトが、既にメモリから解放されている別のオブジェクトにアクセスしようとすると、アプリケーションがクラッシュする可能性があります。すべてのオブジェクトのスコープを確認する必要があります。これを知るには、代わりに「Analyser」を試してください。

あなたの質問についてもっと情報があればうれしいです:

に置き換えif (nil == appInstance)ますif(appInstance == nil)

于 2013-08-05T05:35:04.550 に答える