APP下载

基于Android移动终端的MOOC系统优化机制研究

2017-12-18

关键词:系统优化线程终端

, ,

(石家庄铁道大学 信息科学与技术学院,河北 石家庄 050043)

基于Android移动终端的MOOC系统优化机制研究

胡畅霞,米建,刘颖

(石家庄铁道大学 信息科学与技术学院,河北 石家庄 050043)

MOOC(Massive Open Online Course)开放式在线网络课程,是一种新兴的网络学习方式。Android移动终端作为新时代、新科技的产物,它的及时性与便携性为人们的生活带来极大的便利。基于Android技术的MOOC移动终端能够兼容两者的优点,为学习者提供更加方便、快捷、系统化的在线学习课程模式。从研究MOOC系统优化机制的角度出发,以增强系统的流畅性和减少系统流量使用量为目标,对MOOC移动终端进行系统分析与系统优化。

MOOC;Android移动终端;系统优化

0 引言

MOOC学习作为一种最新形势的网络化、数字化学习方式,它的学习平台也趋于多元化。随着智能移动终端技术的日益强大和4G移动通信技术的大范围应用,制约移动学习的技术性瓶颈已得到相当程度的缓解,无论是移动通信网络的数据传输速度还是移动学习的承载者——智能移动终端,它们的处理能力都得到大幅度的提升。MOOC移动终端将大大的减少学习时间和学习地点对学习者的制约,提高学习的自由度与学习效率。一款优秀的MOOC移动终端不仅需要拥有科学化、体系化的功能模块划分,还需要一套良好的优化机制,来使用户无碍化使用系统并且耗费较少的数据流量资源,从而达到“可用、易用、爱用”的目的。

根据MOOC系统的特征,结合在开发《铁大MOOC》手机APP时的经验,首先简述《铁大MOOC》系统,再从系统使用的流畅性、使用数据流量的合理性和获取数据的规范性3个角度,对MOOC移动端的优化机制进行研究。

1 基于Android移动终端的铁大MOOC系统简介

1.1 《铁大MOOC》移动终端功能框架

《铁大MOOC》Android移动终端是由石家庄铁道大学继续教育学院承办,为成人高等学历教育提供更优质的服务而创建。由于成人高等学历教育受到受教人群性质的限制,不能按照传统课堂教学模式来完成学业。MOOC学习模式很适合成人教育,它的数字化、网络化可以使成年学习者摆脱学习时间、和学习地点的束缚,利用下班时间和空闲零碎时间来完成学习任务。《铁大MOOC》移动终端拥有一套完整科学的功能框架,来帮助学习者学习知识,系统功能如图1所示。

图1 《铁大MOOC》APP功能框图

1.2 《铁大MOOC》移动终端采用技术

本项目是基于Android移动终端技术开发,在前台界面和功能实现使用ADT(Android Develop Tool)开发,Java语言编写;后台数据存储采用SQL server数据库存储,数据库中大量应用“视图设计”来关联字段,减轻sql语句的冗余和复杂度,提高数据的交互速度;数据访问与通信采用Webservice技术,Webservice服务提供数据访问接口,作为ADT与SQL server数据库数据通信的桥梁,确保了数据访问和数据交互的安全性。

2 基于Android移动终端的优化处理机制研究

本文主要阐述在开发《铁大MOOC》移动终端时,结合MOOC系统的数据特征,对系统优化处理,来使系统流畅化和节省数据流量。优化机制主要从3方面研究:(1)系统线程优化机制;(2)图片资源优化机制;(3)Web Service数据接口优化机制。

2.1 系统线程优化机制研究

MOOC是以连通主义理论和网络化学习的开放教育学为基础,连结主义式的教学设计原则让大量的资料能在线上不同媒介传播[3]。在《铁大MOOC》手机APP中消息机制多为网络数据借口提供数据,手机客户端接受查看数据,因此,在APP中存在着众多的连网耗时操作和连网获取数据附带耗时操作。

Android默认约定在UI线程阻塞超过20 s时将会引发ANR(Application Not Responding)异常[2],但从人机交互的角度,短短3 s的系统停滞就会引起用户的等待疲劳。在开发《铁大MOOC》手机APP时使用线程级优化机制,将耗时操作开辟新的线程进行异步处理,在本项目中使用到Android轻量级异步处理——AsyncTask。

以“通知公告下拉刷新”功能为例,完成一次操作将同时加载多条数据和加载多组控件来完成数据更新显示。

在实现下拉刷新功能时,自定义控件RefreashLayout,并且编写RefreashLayout类,在类中编写下拉刷新时的加载动画操作,并且给下拉刷新控件注册一个监听器,在通知公告界面启动监听器。在不经过优化处理的情况下,直接调用RefreashLayout类和获取网络数据实现下拉刷新功能;而在UI主线程中开辟异步操作优化,将调用RefreashLayout类和获取网络数据放入AsyncTask异步类中,实现下拉刷新功能。

图2 下拉刷新所需的时间对比图

在保持网络良好的情况下用同一个手机分别测试5组下拉刷新操作记录所需的时间。测试结果如图2所示。

经过异步优化处理后下拉刷新所需的时间明显少于没有经过优化所需的时间,并且在没有优化直接调用RefreashLayout类和获取网络数据时,由于耗时操作阻碍了UI主线程导致下拉刷新时有明显的卡顿现象,影响软件的整体响应效率和用户体验。

为耗时操作开辟合理的线程级优化,保障MOOC手机客户端流畅运行,使用户可以无碍化使用软件。

2.2 图片资源优化机制研究

MOOC系统中存在着丰富的课程图片资源,这些图片不仅可以起到解释课程内容的作用,还增加了软件的美观度和丰富软件的内容。但由于图片资源的数据量大并且伴随着连网操作,加载网络图片会耗费大量的系统资源,如果图片加载超时或延迟会影响整体程序的响应,从而导致用户友好体验降低。结合MOOC系统中课程图片的特点,浅析在开发《铁大MOOC》手机APP时对图片资源的优化机制。

在MOOC系统中课程图片资源有以下特点:图片资源来源于网络服务器、图片条目众多并且登陆后需要同时加载、图片每次登录基本无变化。

在利用传统方式加载图片资源时出现3个问题:①图片加载时出现错位现象;②加载耗时严重影响软件的响应性。③在图片数目多时经常出现ANR现象。

为了解决上述问题,实现异步加载、缓存、显示图片资源,在开发时结合MOOC图片资源的特点运用多线程和缓存机制实现异步图像加载、缓存和显示。体系结构:每一个图片的加载和显示任务都运行在独立的线程中,除非这个图片缓存在内存中,这种情况下图片资源会立即显示。如果需要显示的图片缓存在SD卡中,系统开启一个独立的线程队列,从本地调取图片信息。如果在缓存中没有需要显示的图片,启动异步线程从网络数据源获取。

数据获取后将数据同时保存到缓存和SD卡上,并且直接将图片显示在UI中。在这种体系结构中,图片可以快速加载显示,并且每张图片都在独立的线程中,在加载时不会出现图片错位现象。流程示意图如图3所示。

在保持网络良好的情况下,利用两种方式分别加载3次同一组图片(一组5张图片),记录每次加载流量数据的使用情况,如图4所示。

图3 优化加载图片流程示意图

图4 流量使用对比图

在保持网络良好的情况下,利用两种方式分别加载5次同一组图片(一组5张图片),记录每次完成使用的时间,如图5所示。

图5 加载时间对比图

通过数据对比在优化后数据使用量和加载所需时间都明显减少。从数据能看出,由于利用缓存机制在优化后,再次加载时将基本无需使用流量并且加载显示流畅。将系统内大数据文件(如图片、文档、视频等)合理缓存到本地,减少数据流量,增快显示速度。

2.3 Webservice数据接口优化机制研究

WebService作为服务器与应用程序之间的“桥梁”,在应用程序开发中起着举足轻重的作用。应用程序通过进程发送向服务器发送请求,进程接收服务器响应,之后将响应返回到应用程序[1]。进程接收服务器响应所需要的时间被称为“等待时间”,等待时间越长,应用程序响应时间就越长,用户体验也就越差。为减少应用程序响应时间,使用户获得良好的用户体验,采用异步通信的方式缓解服务器运行压力。定义IAsyncResult异步操作类的变量接收开始异步通信方法所返回的通信状态。

举例《铁大MOOC》中“我的课程”功能。点击ListView的Item时,需要进行界面的跳转以及多条数据的绑定。

在实现界面跳转功能时,先自定义ViewPager类,并编写ViewPager类的方法,绑定相关数据。在ListView主界面给Items注册监听器,并在“我的课程”主界面启动监听器。采用异步方式进行WebService的调用,将点击Items进行界面跳转和绑定ViewPager放置在IAsyncResult异步类中进行操作,同时运行界面跳转和数据绑定进程。

图6 加载时间对比图

在保持网络良好的情况下分别测试5组界面跳转所需时间,结果如图6所示。

经过异步处理操作调用WebService所需的时间明显少于通过同步通信调用WebService所需的时间。并且经过异步调用WebService机制,ViewPager在系统进行界面跳转的同时进行数据的绑定,相对于同步通信处理机制来说,减少了用户的等待时间,避免了软件的卡顿现象。

通过举例我们可以明显得出,适当运用异步通信调用WebService,可以有效优化WebService数据接口。合理有效地实现资源的利用和分配,从而实现良好的用户体验。

3 结语

《铁大MOOC》手机客户端配合石家庄铁道大学继续教育学院,为成人教育提供MOOC式优质教育,在线学习人数多工作繁忙,对客户端有更高的要求。本文提出了3大优化机制,系统线程优化机制,为耗时操作开辟新的线程提高系统的处理效率;图片资源优化机制,运用多线程和缓存机制实现异步图像加载、缓存和显示,提高图片的显示速度减少数据流量的使用;Webservice数据接口优化机制,规范化获取数据。通过这3大优化机制,大大的提高了客户端的工作效率,节省了用户的时间和数据流量,并且有助于管理人员对信息数据的收集数据,对学员的学习行为进行打分与管理。

[1]韩超.Android核心原理与系统级应用高效开发[M].北京:电子工业出版社,2012.

[2]李刚.疯狂Android讲义[M].3版.北京:电子工业出版社,2015.

[3]李曼丽. 解码MOOC——大规模在线开放课程的教育学考察[M].北京:清华大学出版社,2013.

MOOCSystemOptimizationMechanismBasedontheAndroidMobileTerminal

HuChangxia,MiJian,LiuYing

(School of Information Science and Technology, Shijiazhuang Tiedao University, Shijiazhuang 050043, China)

MOOC (Massive Open Online Course) Open Online courses is an emerging way of network study. The Android mobile terminal, as a product of new era and new technology, its timeliness and portability bring great convenience for people's life. MOOC based on Android mobile terminal, which possesses the advantages of both, provides learners with more convenient, fast and systematic online learning courses. The purpose of this paper is from the perspective of research on MOOC system optimization mechanism, to analyze and optimize the MOOC system to enhance the system fluency and reduce system flow usage.

MOOC;the android mobile terminal;system optimization

TP311.52

A

2095-0373(2017)03-0104-05

2016-06-20责任编辑刘宪福

10.13319/j.cnki.sjztddxxbzrb.2017.04.20

胡畅霞(1977-),女,副教授,研究方向为计算机网络技术及其应用、移动开发。E-mail:huchx@stdu.edu.cn

胡畅霞,米建,刘颖.基于Android移动终端的MOOC系统优化机制研究[J].石家庄铁道大学学报:自然科学版,2017,30(4):104-108.

猜你喜欢

系统优化线程终端
基于C#线程实验探究
PS卧式转炉送风系统优化与实践
X美术馆首届三年展:“终端〉_How Do We Begin?”
基于国产化环境的线程池模型研究与实现
通信控制服务器(CCS)维护终端的设计与实现
基于大数据分析的ETC系统优化探析
浅谈linux多线程协作
多功能北斗船载终端的开发应用
火电厂循环水处理及系统优化探讨
某萤石矿开拓系统优化