如何弄清楚有多少其他应用程序在后台运行?

时间:2011-11-23 13:54:43

标签: iphone ios performance ipad memory-management

我的朋友正在制作高性能游戏,如果许多其他应用程序正在运行,这将会落后。

有没有办法弄清楚现在有多少应用在后台运行?有一款名为Activity Monitor Touch的应用程序可以显示所有后台进程,并且已经批准用于AppStore。它甚至显示了后台应用程序的图标。我猜它会访问小图标以获得聚光灯。

它显示了有线,活动,非活动和可用内存的使用情况以及总可用磁盘空间。

在我看到这个应用程序之前,我一直认为这是不可能的!

所以我们的想法是:检查应用程序可用的可用内存量,以及运行的后台应用程序数量。然后告诉用户由于这个原因,性能可能会滞后,并建议终止其中一些。

1 个答案:

答案 0 :(得分:1)

确定在后台运行的应用程序数量:(使用xcode)

mach_port_t *p = (mach_port_t *)SBSSpringBoardServerPort();
char frontmostAppS[256];
memset(frontmostAppS,sizeof(frontmostAppS),0);
SBFrontmostApplicationDisplayIdentifier(p,frontmostAppS);
NSString * frontmostApp=[NSString stringWithFormat:@"%s",frontmostAppS];
NSLog(@"Frontmost app is %@",frontmostApp);
//get list of running apps from SpringBoard
NSArray *allApplications = SBSCopyApplicationDisplayIdentifiers(p,NO, NO);
for(NSString *identifier in allApplications)
{
    NSString *locName = SBSCopyLocalizedApplicationNameForDisplayIdentifier(identifier);
    NSLog(@"identifier:%@, locName:%@",identifier,locName);
}