如何在ios objective c中为位置跟踪器的重复执行创建后台服务 我通过web服务从GPS跟踪设备获取连续的位置坐标 我使用MKPointAnnotation以10.0秒的间隔连续绘制检索到的坐标
我在解析时应用了GCD。 所以解析将在后台进行,UI更新将在主线程中进行 如下 调度异步(调度获取全局队列)( 调度队列优先级后台,0),^(无效) { //背景线程如何在ios objective c中为位置跟踪器的重复执行创建后台服务 我通过web服务从GPS跟踪设备获取连续的位置坐标 我使用MKPointAnnotation以10.0秒的间隔连续绘制检索到的坐标,ios,objective-c,multithreading,memory-management,background,Ios,Objective C,Multithreading,Memory Management,Background,我在解析时应用了GCD。 所以解析将在后台进行,UI更新将在主线程中进行 如下 调度异步(调度获取全局队列)( 调度队列优先级后台,0),^(无效) { //背景线程 //1# Get Location Coordinates [PARSING PART] NSArray *coordinateArray = geometryDictio[@"coor
//1# Get Location Coordinates [PARSING PART]
NSArray *coordinateArray = geometryDictio[@"coordinates"];
NSString *latitude = [coordinateArray objectAtIndex:1];
NSString *longitude = [coordinateArray objectAtIndex:0];
double latitudeDouble = [latitude doubleValue];
double longitudeDouble = [longitude doubleValue];
dispatch_async(dispatch_get_main_queue(), ^(void)
{
//Run UI Updates
//1# Get Location Coordinates [UI PART]
// Remove
[self removeAnnotation];
// Add new
[self plotPoint:latitudeDouble :longitudeDouble];
});
});
- 我还清除了所有未使用的变量
- 在应用程序中一切正常,我得到了准确的坐标并成功地在地图上绘制
- 定时器也工作正常
- 请推荐内存优化技术
- 请建议除viewdidload之外的任何调用计时器的替代方案
- 请建议在一段时间后释放变量的任何灵活方式[在默认时间后清除内存]
- 任何帮助都将不胜感激
您可以在任何其他生命周期方法中,或在我执行PARSING的相同方法中,将variables设置为nil。您可以在VIEWWILLENGISE方法中设置为nil。尽管这样做并不合适,因为ARC禁止释放变量,请使用时间分析器工具确定您的应用程序在何处花费时间。
[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(handleTimer:) userInfo:nil repeats:YES];