0

奇妙な問題があります - 私のアプリは、シミュレーターではなく、デバイスでのみメモリをリークしています。どこでも、どのシーンでも update メソッドをスケジュールすると漏れます。update メソッドが空であるにも関わらずリークしています。NSLog 以外には何もありません。どうしてですか?リークするものは何もないように見える最初のシーンで更新をスケジュールし、別の空をスケジュールし、リークしているかどうかに関係なく何かを割り当てていますが、結果は同じです-消費されるメモリの量が増加し、私のアプリはすぐにクラッシュします。Instruments->Memory->Activity Monitor を使用するか、次の関数を使用してリークを検出できます。

void report_memory(void) 
{
struct task_basic_info info;
mach_msg_type_number_t size = sizeof(info);
kern_return_t kerr = task_info(mach_task_self(),
                               TASK_BASIC_INFO,
                               (task_info_t)&info,
                               &size);
if( kerr == KERN_SUCCESS ) 
{
    NSLog(@"Memory in use (in bytes): %u", info.resident_size);
} 
else 
{
    NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
}

誰が私に何が起こっているのか説明できますか?

4

0 に答える 0