私は、最初の数回の取引で完璧に機能する POS iPad アプリケーションを持っています。約 10 回のトランザクションが連続して実行されると、アプリの速度が非常に遅くなります。UI がタッチダウン イベントに応答するのに 1 秒以上かかります。そのため、アプリケーションを強制終了して再起動すると、再び完全に機能します。次の関数を使用して、無料の VM を確認しました。応答時間は、新しいトランザクションごとに指数関数的に増加しているようで、最終的にはアプリが使用できなくなります。
-(void)print_free_memory
{
mach_port_t host_port;
mach_msg_type_number_t host_size;
vm_size_t pagesize;
host_port = mach_host_self();
host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
host_page_size(host_port, &pagesize);
vm_statistics_data_t vm_stat;
if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS)
NSLog(@"Failed to fetch vm statistics");
/* Stats in bytes */
natural_t mem_used = (vm_stat.active_count +
vm_stat.inactive_count +
vm_stat.wire_count) * pagesize;
natural_t mem_free = vm_stat.free_count * pagesize;
natural_t mem_total = mem_used + mem_free;
// [self displayAlert:@"Memory" message:[NSString stringWithFormat:@"used: %u free: %u total: %u", mem_used, mem_free, mem_total]];
// NSLog(@"used: %u free: %u total: %u", mem_used, mem_free, mem_total);
}
メモリ使用量はほぼ一定のようです。ですから、何が問題なのかわかりません。誰でもこの問題で私を助けてもらえますか? 自分でオブジェクトを nil に設定しようとしました。しかし、それは問題を改善しているようには見えません。