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