CN105653267B - 电子设备及数据处理方法 - Google Patents
电子设备及数据处理方法 Download PDFInfo
- Publication number
- CN105653267B CN105653267B CN201510999401.7A CN201510999401A CN105653267B CN 105653267 B CN105653267 B CN 105653267B CN 201510999401 A CN201510999401 A CN 201510999401A CN 105653267 B CN105653267 B CN 105653267B
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- processed
- initial
- processing method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种电子设备及数据处理方法,所述数据处理方法用于具有用户界面的程序,包括:UI线程读取待处理UI数据;所述UI线程向所述数据线程发送指示信息;所述数据线程接收所述指示信息后,读取并处理与所述待处理UI数据对应的原始数据;以及将处理后的原始数据转换为UI数据,替换所述UI线程中的待处理UI数据,并将所述原始数据更新为处理后的原始数据。本发明提供的电子设备及数据处理方法能提高程序用户界面的响应速度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种电子设备及数据处理方法。
背景技术
随着科技的发展,使用电子设备(诸如手机、平板电脑)的用户越来越多,在实现各类基本功能后,用户开始更加注重电子设备用户界面交互体验及数据处理速度。因此,如何在现有硬件设备下提高设备数据处理及响应速度是现今应用程序开发所要重点考虑的问题。
现有技术中,在手机、平板电脑之类的电子设备中运行具有用户界面的程序时,通常仅用一个线程来完成用户界面交互、数据逻辑处理、用户界面更新等操作。这样相当于通过一个线程接收用户通过用户界面输入的数据、随后对用户输入的数据进行处理、最后再处理后的数据更新到用户界面。这样单线程的数据处理方式使得用户在完成一个数据处理后才能再进行下一个数据处理,整个数据处理过程较慢使得用户界面响应速度过慢造成用户界面卡顿,进而影响用户使用电子设备的体验。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种电子设备及数据处理方法,其能提高程序用户界面的响应速度。
本发明提供一种数据处理方法,用于具有用户界面的程序,包括:UI线程读取待处理UI数据;所述UI线程向所述数据线程发送指示信息;所述数据线程接收所述指示信息后,读取并处理与所述待处理UI数据对应的原始数据;以及将处理后的原始数据转换为UI数据,替换所述UI线程中的待处理UI数据,并将所述原始数据更新为处理后的原始数据。
优选地,所述UI数据与所述原始数据互为镜像。
优选地,所述UI数据与所述原始数据储存在同一数据库中的不同段中。
优选地,各所述UI数据以及与该UI数据对应的原始数据邻接地储存在同一数据库中。
优选地,所述数据线程根据所述待处理UI数据的存储地址及与该所述待处理UI数据对应的原始数据的地址偏移量读取所述原始数据。
优选地,所述UI数据具有UI数据结构,将处理后的原始数据转换为UI数据包括:将处理后的原始数据的数据结构转换为所述UI数据结构。
优选地,通过原子操作替换UI线程中的待处理UI数据。
优选地,UI线程读取待处理UI数据前还包括:所述UI线程判断当前读取的UI数据是否为待处理UI数据。
根据本发明的又一方面,还提供一种电子设备,所述电子设备安装具有用户界面的程序,所述电子设备包括:处理器,配置成执行上述的数据处理方法。
与现有技术相比,本发明通过双线程的方式,将用户界面响应与数据的逻辑处理分开,并通过对应的UI数据和原始数据来将处理后的原始数据能够更新到用户界面中,并在不占用UI线程的情况下,更新原始数据,进而提高程序用户界面的响应速度,避免程序使用时所产生的卡顿现象。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的数据处理方法的流程图。
图2示出了根据本发明实施例的数据处理过程的示意图。
图3示出了根据本发明第一实施例的数据库的示意图。
图4示出了根据本发明第二实施例的数据库的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
为了提高用户界面响应速度,本发明提供一种用于具有用户界面的程序的数据处理方法。数据处理方法包括4个步骤,流程图参见图1。
步骤S110,UI线程读取待处理UI数据。
步骤S120,UI线程向数据线程发送一指示信息。
步骤S130,数据线程接收指示信息后,读取并处理与待处理UI数据对应的原始数据,其中,UI数据与原始数据互为镜像。
步骤S140,将处理后的原始数据转换为UI数据,替换所述UI线程中的待处理UI数据,并将所述原始数据更新为处理后的原始数据。具体而言,UI数据具有UI数据结构,通过将处理后的原始数据的数据结构转换为UI数据结构来将原始数据转换为UI数据。为了保证UI数据的更新不会被UI线程的处理所打断,本发明通过原子操作来替换UI线程中的待处理UI数据。
本发明所提供的数据处理方法可应用在诸如手机、平板电脑的电子设备上。具体而言,电子设备安装有具有用户界面的程序,例如QQ、微信、照相程序、社交网络程序等。电子设备具有处理器来执行本发明提供的数据处理方法。在一个具体实施例中本发明提供的数据处理方法参见图2。
用户通过程序的用户界面输入数据。用户通过用户界面输入的数据作为待处理的UI数据,其可以是用户通过电子设备的键盘输入的文字(例如,社交网络程序的评论、通讯程序的短消息等),也可以是用户根据程序用户界面提供的选项所进行的选择(例如返回上一项、返回主页等),还可以是用户通过触控屏或按键在用户界面上所进行的操作(诸如点击、拖曳、长按等)、或上述各项操作所针对的对象(例如图片、视频、音频等)。
用户通过用户界面输入UI数据后,UI线程读取待处理UI数据。UI线程读取待处理UI数据后,判断待处理UI数据是否需要处理。若待处理UI数据不需要经过数据线程进行逻辑运算,则UI线程直接响应用户输入的UI数据。例如,当用户输入的UI数据是返回主页,则该待处理UI数据不需要进行逻辑运算,UI线程直接返回主页来响应用户输入的UI数据。本发明通过双线程的方式,当待处理的UI数据不需要经过逻辑运算时,可以通过UI线程直接响应用户输入,而不需要等待该输入之前的各用户输入数据的逻辑运算完成后才得以响应此次的用户输入。
若待处理UI数据需要经过进一步的逻辑运算,则UI线程指示数据线程对与待处理UI数据对应的原始数据进行处理。UI数据与原始数据互为镜像地储存在数据库中。具体而言,通常在用户与用户界面的交互中,同时需要处理许多的数据,因此,本实施例通过逻辑队列和任务队列来对待处理UI数据进行顺序管理。例如,通过逻辑队列对待处理UI数据进行优先权排序,在通过任务队列以先进先出的方式来进行处理。具体而言,逻辑队列可以通过待处理UI数据的运算量、用户拟定的优先级、***设定的优先级等对待处理UI数据进行优先权排序。在一些变化例中,UI数据是否需要处理可在逻辑队列中进行判断。在又一些变化例中,可以仅由一个队列结构实现待处理UI数据的顺序管理。
待处理UI数据通过任务队列输出到数据线程,数据线程读取与待处理UI数据对应的原始数据。
在一些实施例中,UI数据与原始数据储存在同一数据库中的不同段中。如图3所示,所有的UI数据储存在数据库的一段中,所有的原始数据储存在数据库的另一段中。优选地,UI数据及原始数据都储存有与其对应的另一数据的地址偏移量。在一些实施例中,所有UI数据与其对应的原始数据具有相同的地址偏移量,例如,UI数据1与其对应的原始数据1的地址偏移量1为8,UI数据2与其对应的原始数据2的地址偏移量2也为8。当所有UI数据与其对应的原始数据具有相同的地址偏移量时,数据库中各UI数据及原始数据可以不包括与其对应的另一数据的地址偏移量。在一些变化例中,各UI数据与其对应的原始数据具有不同的地址偏移量。例如,UI数据1与其对应的原始数据1的地址偏移量1为8,UI数据2与其对应的原始数据2的地址偏移量2为9。在又一些变化例中,各UI数据与其对应的原始数据的地址偏移量可以根据数据处理情况来进行更新。例如,增加或删除UI数据时,其他UI数据与对应的原始数据的地址偏移量会产生变化,本发明可以根据地址偏移量的变化来更新数据库中储存的地址偏移量。
在一些变化例中,各UI数据以及与该UI数据对应的原始数据邻接地储存在同一数据库中。如图4所示,各UI数据与其对应的原始数据的地址偏移量相同,例如,各UI数据与其对应的原始数据的地址偏移量都为1。
数据线程可以根据待处理UI数据的存储地址及与该待处理UI数据对应的原始数据的地址偏移量读取所述原始数据。当UI数据及原始数据按图3所示的方式储存,也就是所有的UI数据储存在数据库的一段中,所有的原始数据储存在数据库的另一段中时,数据线程根据待处理UI数据,例如UI数据1的存储地址及与该待处理UI数据1对应的原始数据1的地址偏移量1来读取原始数据1。当UI数据及原始数据按图4所示的方式储存,也就是各UI数据以及与该UI数据对应的原始数据邻接地储存在同一数据库中时,数据线程根据待处理UI数据,例如UI数据1的存储地址及与该待处理UI数据1对应的原始数据1的值为1的地址偏移量来读取原始数据1。
数据线程读取与待处理UI数据对应的原始数据后,对该原始数据进行处理。具体而言,当待处理的UI数据是照相程序中的图像处理操作时,数据线程读取图像数据并对根据用户在用户界面输入的对图像数据进行处理(例如放大、缩小、剪切、对比度处理等)。当待处理的UI数据是游戏程序中对游戏对象操作时,数据线程读取游戏对象数据并对根据用户在用户界面输入对游戏对象数据的操作进行处理(例如游戏对象的移动、攻击等)。
数据线程处理原始数据后,将处理后的原始数据转换为UI数据,替换UI线程中的待处理UI数据。具体而言,UI数据具有UI数据结构,通过将处理后的原始数据转换为具有UI数据结构的UI数据来将原始数据转换为UI数据。其中,UI数据结构优选地让UI控件以最直接的方式读取,原始数据结构优选地平衡存储开销和计算开销。对于UI数据结构,在一些实施例中,若UI控件为列表UI控件,UI数据结构为一维数据;若UI控件为网格UI控件,则UI数据结构为二维数据;若UI控件为层级UI控件,则UI数据结构为栈结构。对于原始数据结构,在一些实施例中,可以使用红黑树或hash表来平衡存储开销和计算开销。在一个具体实施例中,例如,原始数据结构里数据是数字1,UI上要显示:本商品的数量为1。那么原始数据里就会以数字1存储,而UI数据结构里会是字符串。本领域技术人员可以根据此处描述实现更多UI数据结构和原始数据结构的变化例,在此不予赘述。
为了保证UI数据的更新不会被UI线程的处理所打断,本发明通过原子操作来替换UI线程中的待处理UI数据。进一步地,数据线程还将该原始数据更新为处理后的原始数据。
与现有技术相比,本发明通过双线程的方式,将用户界面响应与数据的逻辑处理分开,并通过对应的UI数据和原始数据来将处理后的原始数据能够更新到用户界面中,并在不占用UI线程的情况下,更新原始数据,进而提高程序用户界面的响应速度,避免程序使用时所产生的卡顿现象。
以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。
Claims (4)
1.一种数据处理方法,用于具有用户界面的程序,其特征在于,包括:
UI线程读取UI数据,并判断当前读取的UI数据是否为待处理UI数据;
若是,则所述UI线程向数据线程发送指示信息;
所述数据线程接收所述指示信息后,读取并处理与所述待处理UI数据对应的原始数据;以及
将处理后的原始数据的数据结构转换为UI数据结构以转换为UI数据,替换所述UI线程中的待处理UI数据,并将所述原始数据更新为处理后的原始数据,所述UI数据与所述原始数据互为镜像,其中,所述UI数据具有UI数据结构,
所述UI数据与所述原始数据储存在同一数据库中的不同段中;或者各所述UI数据以及与该UI数据对应的原始数据邻接地储存在同一数据库中。
2.如权利要求1所述的数据处理方法,其特征在于,所述数据线程根据所述待处理UI数据的存储地址及与该所述待处理UI数据对应的原始数据的地址偏移量读取所述原始数据。
3.如权利要求1所述的数据处理方法,其特征在于,通过原子操作替换UI线程中的待处理UI数据。
4.一种电子设备,所述电子设备安装具有用户界面的程序,其特征在于,所述电子设备包括:
处理器,配置成执行如权利要求1至3任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999401.7A CN105653267B (zh) | 2015-12-28 | 2015-12-28 | 电子设备及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510999401.7A CN105653267B (zh) | 2015-12-28 | 2015-12-28 | 电子设备及数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653267A CN105653267A (zh) | 2016-06-08 |
CN105653267B true CN105653267B (zh) | 2019-05-07 |
Family
ID=56478010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510999401.7A Expired - Fee Related CN105653267B (zh) | 2015-12-28 | 2015-12-28 | 电子设备及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653267B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567338A (zh) * | 2010-12-16 | 2012-07-11 | 凌群电脑股份有限公司 | 模拟***日志的数据同步*** |
CN103593231A (zh) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及移动终端 |
CN104252379A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 图片缩略图显示方法和装置 |
CN104598322A (zh) * | 2014-12-31 | 2015-05-06 | 北京奇虎科技有限公司 | 多窗口组件间通信的方法及装置 |
CN104866291A (zh) * | 2014-02-24 | 2015-08-26 | 上海连梦文化传播有限公司 | 一种基于Android的手机2D游戏引擎 |
CN104899039A (zh) * | 2015-06-12 | 2015-09-09 | 百度在线网络技术(北京)有限公司 | 用于在终端设备上提供截屏服务的方法和装置 |
CN105183547A (zh) * | 2015-08-13 | 2015-12-23 | 青岛海信移动通信技术股份有限公司 | 一种用户界面的任务调度方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547161B (zh) * | 2008-03-28 | 2012-09-26 | 阿里巴巴集团控股有限公司 | 文件夹传输***、文件夹传输装置及文件夹传输方法 |
-
2015
- 2015-12-28 CN CN201510999401.7A patent/CN105653267B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567338A (zh) * | 2010-12-16 | 2012-07-11 | 凌群电脑股份有限公司 | 模拟***日志的数据同步*** |
CN103593231A (zh) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及移动终端 |
CN104252379A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 图片缩略图显示方法和装置 |
CN104866291A (zh) * | 2014-02-24 | 2015-08-26 | 上海连梦文化传播有限公司 | 一种基于Android的手机2D游戏引擎 |
CN104598322A (zh) * | 2014-12-31 | 2015-05-06 | 北京奇虎科技有限公司 | 多窗口组件间通信的方法及装置 |
CN104899039A (zh) * | 2015-06-12 | 2015-09-09 | 百度在线网络技术(北京)有限公司 | 用于在终端设备上提供截屏服务的方法和装置 |
CN105183547A (zh) * | 2015-08-13 | 2015-12-23 | 青岛海信移动通信技术股份有限公司 | 一种用户界面的任务调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105653267A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7013466B2 (ja) | アプリケーションデータ処理方法、装置、及びコンピュータプログラム | |
CN111190718A (zh) | 实现任务调度的方法、装置及*** | |
US10175954B2 (en) | Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information | |
US11115362B2 (en) | Method and system for presenting conversation thread | |
US10387161B2 (en) | Techniques for capturing state information and performing actions for threads in a multi-threaded computing environment | |
CN103678704A (zh) | 一种基于图片信息的识图方法、***、设备及装置 | |
WO2017172554A1 (en) | Using drag and drop to apply metadata | |
WO2014093599A2 (en) | Identifying and displaying a set of high priority contacts on a display device | |
KR20210095126A (ko) | 로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법 | |
CN103678706A (zh) | 一种基于截图信息的识图方法、***、设备及装置 | |
US9684738B2 (en) | Text-based command generation | |
US11243679B2 (en) | Remote data input framework | |
CN109753612B (zh) | 问卷显示的控制方法、装置、存储介质和电子设备 | |
US9043464B1 (en) | Automatically grouping resources accessed by a user | |
CN113849092A (zh) | 内容分享方法、装置和电子设备 | |
CN105653267B (zh) | 电子设备及数据处理方法 | |
US20160313910A1 (en) | Method and device for organizing a plurality of items on an electronic device | |
CN115617441A (zh) | 绑定模型和图元的方法、装置、存储介质及计算机设备 | |
CN113010059B (zh) | 应用程序图标管理方法、装置及电子设备 | |
EP2849058A1 (en) | Method and device for displaying a message associated with an application | |
US11491404B2 (en) | Method and system for replacing player in sports game | |
EP2763001A1 (en) | Information input method and touch screen terminal | |
US20140062894A1 (en) | Method and system for using a tablet device to provide contextual input to a computing device | |
US20130055138A1 (en) | Dynamically changing key selection based on context | |
KR102158544B1 (ko) | 모바일 기기의 입력 인터페이스 내에서 맞춤법 검사를 지원하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190507 Termination date: 20211228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |