基于IOS的微课学习系统的实现
2018-10-20吴秀莹杨喜林张广灵姜丽丽冯俊杰桂成林
吴秀莹 杨喜林 张广灵 姜丽丽 冯俊杰 桂成林
摘要:本文描述了在IOS平台上开发的微课学习系统,分别展示了今日推荐、观看微课等功能的重要代码结构。使用Xcode集成开发环境中的Instruments工具进行性能测试,重点进行了内存泄露、资源占用情况的性能测试。此微课学习系统具有友善的用户接口,用户易于操作,体积小巧便于学生利用零散时间学习。
关键词:微课学习;IOS开发技术;Instruments性能测试
中图分类号:G434 文献标识码:A 文章编号:1672-9129(2018)15-0029-01
Abstract: This paper describes the micro-lesson learning system developed on the IOS platform, and shows the important code structure of today's recommendation, watching micro-lessons and other functions. Using Instruments tools in Xcode integrated development environment for performance testing, focusing on memory leak and resource usage performance testing. This micro-lesson learning system has friendly user interface, user-friendly operation, small size and easy for students to use scattered time to learn.
Keywords: micro-lesson learning; IOS development technology; Instruments performance testing
現在高校教师、教育工作者对微课教育越来越重视,微课学习以其短小、精悍的特点成为信息化教学的典型应用。IOS移动终端设备以其卓越的安全性和稳定性能,成为最适合实施音频视频学习的移动学习设备。现将阐述基于IOS平台的微课学习系统的设计、实现和测试过程。
1 用户需求及项目总体框架
通过使用该微课系统,学生能够实现在IOS移动终端学习微课,并对已经学习的课程记录学习心得。根据用户需求分析和系统设计,在Xcode6中实现该项目,在开发微课学习系统之前需要引入UIKit.framework、CoreGraphics.framework、Foundation.framework、MediaPlayer.framework、libsqlite3.dylib以备在开发过程中使用。
2 主要模块实现
该系统学习中心采用Xcode6开发,主要有今日推荐、播放微课等模块,现主要功能展示如下:
2.1今日推荐关键代码。
(1)获取视频略缩图。获取视频文件的略缩图显示在今日推荐界面上,具体实现体现在ViewController.m文件中,引入MoviePlayerController类。
(2)图片轮播。该应用首页顶部的图片轮播功能主要使用了UIpageControl类,具体实现体现在ImageViewController.m文件中。
2.2播放微课视频关键代码。
#import "ViewController.h"
@implementation ViewController
@synthesize moviePlayerVC = _moviePlayerVC;
- (IBAction)buttonClicked:(id)sender
{
NSURL* movieFileURL = [[NSBundle mainBundle]
URLForResource:@" " withExtension:@"mp4"];
_moviePlayerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:movieFileURL]; //创建对象
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_moviePlayerVC.moviePlayer]; //注册播放完毕的事件
[self presentMoviePlayerViewControllerAnimated:_moviePlayerVC];//以模式方式显示在主视图控制器上
}
3 性能测试
在Xcode中进行应用程序的性能测试可以很方便的使用IOS SDK中提供的Instruments工具,它能够程序运行过程中进行多方面严密监控,包括执行时间、CPU占有率、内存管理等情况,指出程序的问题和全局统计数据。
3.1内存泄露测试。Category列用于显示不同的类别,Live Bytes列显示该类别当前内存中占用的cocoa对象个数或者未free的malloc次数。#Allocations(Net/Overall)列式一个柱状图,显示该类别申请的空间的比例,比例越大柱状图越长。本项目中没有出现较长的柱状图,所以没有内存泄露。
3.2Time Profiler 时间跟踪器。Time Profiler instrument工具在规定的间隔内停止一个Mac OS X的程序并记录该程序内部线程的栈跟踪信息。可以使用这些信息来确定花费在程序上面的执行时间并提升代码来减少运行时间。Time Profiler工具运行在单个进程或所有进程之上。
总结:本文首先给出今日推荐、观看微课等模块的开发流程。然后对项目使用性能测试工具Instruments进行性能测试,经过测试本项目没有内存泄露,性能表现符合用户需求。
参考文献:
[1]李俊.基于移动学习的“微课程”资源建设初探[J].科技视界,2013,24:138.
[2]胡洁婷.MOOC环境下微课程设计研究[D].上海师范大学,2013.
作者简介:吴秀莹(1979-),女,汉族,辽宁省沈阳市人,大学本科,黑龙江农业工程职业学院,讲师,主要研究方向:软件设计与开发。