我在我的应用程序中处理图像流.有些图像真的很大.因此,在处理图像之前,我需要一种方法来判断是否可以使用剩余的内存来处理它.但我怎么知道我可以使用多少剩余内存?
2013-12-13 11:15:05.966 Total Memory: 505 MB User Memory: 434.3 MB
2013-12-13 11:15:05.967 Virtual: 348.7 MB Resident: 6.3 MB Free: 254.1 MB Inactive: 35 MB Active: 70.7 MB Wired: 70.6 MB
2013-12-13 11:15:57.742 Virtual: 530.2 MB Resident: 95.2 MB Free: 160.6 MB Inactive: 45 MB Active: 74.1 MB Wired: 72 MB
2013-12-13 11:16:41.320 Virtual: 569.2 MB Resident: 88 MB Free: 121 MB Inactive: 46.4 MB Active: 71.8 MB Wired: 76.3 MB
2013-12-13 11:16:46.254 Virtual: 612.9 MB Resident: 88.7 MB Free: 50.2 MB Inactive: 33 MB Active: 64.2 MB Wired: 117.7 MB
2013-12-13 11:16:49.536 Virtual: 525.6 MB Resident: 89.9 MB Free: 3.6 MB Inactive: 33.8 MB Active: 154.3 MB Wired: 71.7 MB
2013-12-13 11:16:50.854 Virtual: 568.9 MB Resident: 90.1 MB Free: 139.5 MB Inactive: 35 MB Active: 64.1 MB Wired: 71.2 MB
2013-12-13 11:16:56.358 Virtual: 613.8 MB Resident: 92.6 MB Free: 51.3 MB Inactive: 35.1 MB Active: 107.1 MB Wired: 71.5 MB
2013-12-13 11:17:05.034 Virtual: 658.4 MB Resident: 83.9 MB Free: 48 MB Inactive: 30.5 MB Active: 62.4 MB Wired: 70.1 MB
2013-12-13 11:17:15.196 Virtual: 587.4 MB Resident: 143.1 MB Free: 194 MB Inactive: 6.2 MB Active: 15.1 MB Wired: 69.5 MB
2013-12-13 11:17:18.483 Virtual: 629.3 MB Resident: 145.2 MB Free: 97.2 MB Inactive: 6.3 MB Active: 47.3 MB Wired: 92.3 MB
2013-12-13 11:17:21.098 Virtual: 675.5 MB Resident: 145.2 MB Free: 52.7 MB Inactive: 24.2 MB Active: 51.6 MB Wired: 69.3 MB
2013-12-13 11:17:22.133 Received memory warning.
2013-12-13 11:17:22.187 Virtual: 711.3 MB Resident: 172.1 MB Free: 36.1 MB Inactive: 20.4 MB Active: 1.8 MB Wired: 114.3 MB
2013-12-13 11:17:22.477 Received memory warning.
2013-12-13 11:17:22.480 Virtual: 568.1 MB Resident: 124.7 MB Free: 194.6 MB Inactive: 20.9 MB Active: 3.3 MB Wired: 112.4 MB
2013-12-13 11:17:22.571 Virtual: 522.6 MB Resident: 36.2 MB Free: 282.4 MB Inactive: 20.9 MB Active: 3.9 MB Wired: 66.8 MB
Run Code Online (Sandbox Code Playgroud)
对于上面的最后一个问题,我尝试只使用空闲内存.我确定这是不对的,因为大部分时间的可用内存非常少,而且我可以使用的东西很容易超过它而没有任何问题.我也尝试过(可用内存 + 非活动内存).似乎还不是很正确,因为我可以在我的实验中使用更多而没有问题.这里涉及的一个难点是,当我的应用程序处于活动状态并且需要更多内存时,系统可以杀死其他非活动应用程序,以便为我的应用程 在计算我可以使用的剩余内存时,我需要考虑以后的备用金额.