奇妙な問題があります - 私のアプリは、シミュレーターではなく、デバイスでのみメモリをリークしています。どこでも、どのシーンでも 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));
}
}
誰が私に何が起こっているのか説明できますか?