吳秀瑩 楊喜林 張廣靈 姜麗麗 馮俊杰 桂成林
摘要:本文描述了在IOS平臺上開發(fā)的微課學(xué)習(xí)系統(tǒng),分別展示了今日推薦、觀看微課等功能的重要代碼結(jié)構(gòu)。使用Xcode集成開發(fā)環(huán)境中的Instruments工具進(jìn)行性能測試,重點(diǎn)進(jìn)行了內(nèi)存泄露、資源占用情況的性能測試。此微課學(xué)習(xí)系統(tǒng)具有友善的用戶接口,用戶易于操作,體積小巧便于學(xué)生利用零散時間學(xué)習(xí)。
關(guān)鍵詞:微課學(xué)習(xí);IOS開發(fā)技術(shù);Instruments性能測試
中圖分類號:G434 ? 文獻(xiàn)標(biāo)識碼: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
現(xiàn)在高校教師、教育工作者對微課教育越來越重視,微課學(xué)習(xí)以其短小、精悍的特點(diǎn)成為信息化教學(xué)的典型應(yīng)用。IOS移動終端設(shè)備以其卓越的安全性和穩(wěn)定性能,成為最適合實(shí)施音頻視頻學(xué)習(xí)的移動學(xué)習(xí)設(shè)備。現(xiàn)將闡述基于IOS平臺的微課學(xué)習(xí)系統(tǒng)的設(shè)計、實(shí)現(xiàn)和測試過程。
1 用戶需求及項目總體框架
通過使用該微課系統(tǒng),學(xué)生能夠?qū)崿F(xiàn)在IOS移動終端學(xué)習(xí)微課,并對已經(jīng)學(xué)習(xí)的課程記錄學(xué)習(xí)心得。根據(jù)用戶需求分析和系統(tǒng)設(shè)計,在Xcode6中實(shí)現(xiàn)該項目,在開發(fā)微課學(xué)習(xí)系統(tǒng)之前需要引入UIKit.framework、CoreGraphics.framework、Foundation.framework、MediaPlayer.framework、libsqlite3.dylib以備在開發(fā)過程中使用。
2 主要模塊實(shí)現(xiàn)
該系統(tǒng)學(xué)習(xí)中心采用Xcode6開發(fā),主要有今日推薦、播放微課等模塊,現(xiàn)主要功能展示如下:
2.1今日推薦關(guān)鍵代碼。
(1)獲取視頻略縮圖。獲取視頻文件的略縮圖顯示在今日推薦界面上,具體實(shí)現(xiàn)體現(xiàn)在ViewController.m文件中,引入MoviePlayerController類。
(2)圖片輪播。該應(yīng)用首頁頂部的圖片輪播功能主要使用了UIpageControl類,具體實(shí)現(xiàn)體現(xiàn)在ImageViewController.m文件中。
2.2播放微課視頻關(guān)鍵代碼。
#import "ViewController.h"
@implementation ViewController
@synthesize moviePlayerVC = _moviePlayerVC;
- (IBAction)buttonClicked:(id)sender
{
NSURL* movieFileURL = [[NSBundle mainBundle]
URLForResource:@" " withExtension:@"mp4"];
_moviePlayerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:movieFileURL]; //創(chuàng)建對象
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_moviePlayerVC.moviePlayer]; //注冊播放完畢的事件
[self presentMoviePlayerViewControllerAnimated:_moviePlayerVC];//以模式方式顯示在主視圖控制器上
}
3 性能測試
在Xcode中進(jìn)行應(yīng)用程序的性能測試可以很方便的使用IOS SDK中提供的Instruments工具,它能夠程序運(yùn)行過程中進(jìn)行多方面嚴(yán)密監(jiān)控,包括執(zhí)行時間、CPU占有率、內(nèi)存管理等情況,指出程序的問題和全局統(tǒng)計數(shù)據(jù)。
3.1內(nèi)存泄露測試。Category列用于顯示不同的類別,Live Bytes列顯示該類別當(dāng)前內(nèi)存中占用的cocoa對象個數(shù)或者未free的malloc次數(shù)。#Allocations(Net/Overall)列式一個柱狀圖,顯示該類別申請的空間的比例,比例越大柱狀圖越長。本項目中沒有出現(xiàn)較長的柱狀圖,所以沒有內(nèi)存泄露。
3.2Time Profiler 時間跟蹤器。Time Profiler instrument工具在規(guī)定的間隔內(nèi)停止一個Mac OS X的程序并記錄該程序內(nèi)部線程的棧跟蹤信息??梢允褂眠@些信息來確定花費(fèi)在程序上面的執(zhí)行時間并提升代碼來減少運(yùn)行時間。Time Profiler工具運(yùn)行在單個進(jìn)程或所有進(jìn)程之上。
總結(jié):本文首先給出今日推薦、觀看微課等模塊的開發(fā)流程。然后對項目使用性能測試工具Instruments進(jìn)行性能測試,經(jīng)過測試本項目沒有內(nèi)存泄露,性能表現(xiàn)符合用戶需求。
參考文獻(xiàn):
[1]李俊.基于移動學(xué)習(xí)的“微課程”資源建設(shè)初探[J].科技視界,2013,24:138.
[2]胡潔婷.MOOC環(huán)境下微課程設(shè)計研究[D].上海師范大學(xué),2013.
作者簡介:吳秀瑩(1979-),女,漢族,遼寧省沈陽市人,大學(xué)本科,黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院,講師,主要研究方向:軟件設(shè)計與開發(fā)。