iPad应用程序在一段时间后变得缓慢

时间:2013-08-19 14:42:35

标签: ios objective-c automatic-ref-counting

我有一个销售点iPad应用程序,它适用于前几个交易。在大约10次交易背靠背后,应用程序变得非常缓慢。用户界面需要一秒钟以上才能响应触地事件。因此,当我杀死应用程序并重新启动它时,它再次完美运行。我使用以下函数来检查免费的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);

}

内存使用情况似乎或多或少不变。所以,我不确定问题是什么。有谁可以帮我解决这个问题?我试过自己设置对象为零。但这似乎没有改善这个问题。

1 个答案:

答案 0 :(得分:0)

谢谢大家的回复。感谢你们,我能够找出放慢速度的原因。下面是时间分析的结果。

有这种方法

运行时间自我符号名称

250185.0ms 81.3%90.0 - [tcCreditCardViewController blinkT]

我已将此设置为由NSTimer触发,并且在添加新子视图后未使计时器无效。一旦我这样做,应用程序就像以前一样顺利运行。