CN104636160A - 一种应用程序的启动方法及装置 - Google Patents
一种应用程序的启动方法及装置 Download PDFInfo
- Publication number
- CN104636160A CN104636160A CN201310572380.1A CN201310572380A CN104636160A CN 104636160 A CN104636160 A CN 104636160A CN 201310572380 A CN201310572380 A CN 201310572380A CN 104636160 A CN104636160 A CN 104636160A
- Authority
- CN
- China
- Prior art keywords
- application program
- displaying ratio
- minimum
- ratio
- unit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明适用于应用程序技术领域,提供了一种应用程序的启动方法及装置,所述方法包括:按默认显示比例启动应用程序;当启动应用程序失败时,则缩小显示比例;按照缩小后的显示比例重新启动应用程序。当启动应用程序失败时,本发明可通过缩小显示比例,来缩小应用程序运行时所需的内存空间大小,并按照缩小后的显示比例重新启动应用程序,从而可有效的启动应用程序。
Description
技术领域
本发明属于应用程序技术领域,尤其涉及一种应用程序的启动方法及装置。
背景技术
移动终端的普及率越来越高,安卓免费的特点使得它迅速成为移动终端主要的软件平台,安卓有提供适应不同屏幕的技术方案,但是安卓终端确实太多,差异性也很大,而安卓应用程序在开发时也很难覆盖到千差万别的安卓终端,因此会出现一些安卓应用程序因为系统可用内存不够、cpu处理不够快而无法在某些低配置终端上运行,恰恰低配置的终端用户数量巨大。
综上所述,现有的应用终端千差万别,存在因系统可用内存不够,导致应用程序无法启动的缺陷。
发明内容
本发明实施例的目的在于提供一种应用程序的启动方法,旨在解决现有的应用终端中存在的因系统可用内存不够,导致应用程序无法启动的问题。
本发明实施例是这样实现的,一种应用程序的启动方法,所述方法包括:
按默认显示比例启动应用程序;
当启动应用程序失败时,则缩小显示比例;
按照缩小后的显示比例重新启动应用程序。
本发明实施例还提供了一种应用程序的启动装置,所述装置包括:
启动单元,用于按默认显示比例启动应用程序;
缩小单元,用于在启动单元启动应用程序失败时,则缩小显示比例;
重启单元,用于按照缩小后的显示比例重新启动应用程序。
本发明实施例与现有技术相比,有益效果在于:当启动应用程序失败时,通过缩小显示比例,来缩小应用程序运行时所需的内存空间大小,并按照缩小后的显示比例重新启动应用程序,从而可有效的启动应用程序。
附图说明
图1是本发明实施例提供的应用程序的启动方法的流程图;
图2是本发明实施例提供的应用程序的启动方法的一个子流程图;
图3是本发明实施例提供的应用程序的启动方法的另一个子流程图;
图4是本发明实施例提供的应用程序的启动装置的逻辑结构示意图;
图5是本发明实施例提供的应用程序的启动装置的另一逻辑结构示意图;
图6是本发明实施例提供的应用程序的启动装置的又一逻辑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素:
系统可用内存:指在应用程序启动时,系统允许分配的最大内存空间。
应用程序所需内存:指应用程序运行时所需的内存空间大小。
显示比例:应用程序实际显示的长度与全屏长度的比例(也可取各自的宽度来算比例)。
本发明实施例提供的实施方案如下:
请参阅图1,本发明实施例一种应用程序的启动方法,所述方法包括:
101、按默认显示比例启动应用程序。
在本发明实施例中,可预先创建一个应用程序运行时的显示比例数据库,该数据库以应用程序包名为索引。
在本发明实施例中,通过ActivityManagerService(Activity管理服务,负责activity栈管理和消息分发)来启动应用程序,在ActivityManagerService启动前,会先从数据库中获取当前所存储的显示比例。该数据库中预先存储的是默认显示比例。在本发明实施例中,默认显示比例通常为1,即应用程序全屏显示。
在本发明实施例中,应用程序具体为安卓系统下的应用程序。
102、当启动应用程序失败时,则缩小显示比例;
在本发明实施例中,显示比例可通过WindowManagerService(窗口管理服务,负责窗口的组织和显示)中的displayReady方法来进行放大或缩小修改,为了保证应用终端的屏幕旋转的时候显示比例也一样,显示比例需同时在computeNewConfigurationLocked方法中来进行放大或缩小的修改,修改后的应用程序的显示区域可同比例放大或者缩小,同时用户的操作区域也可同比例放大或者缩小,不会影响用户的使用。
103、按照缩小后的显示比例重新启动应用程序。
当应用程序启动成功后,可将成功启动时的显示比例存储至显示比例数据库中,当后期用户再启动该应用程序时,则按照最后一次存储的显示比例启动应用程序。
在本发明实施例中,所述方法还包括:
当重新启动应用程序失败时,则循环执行所述缩小显示比例及所述按照缩小后的显示比例重新启动应用程序的步骤,直到可成功启动所述应用程序为止。
当然,在具体应用中可显示循环执行的次数,从而防止出现无限循环导致死机。也可以设置几个由大到小递减的显示比例值,如0.9,0.8,0.7,0.6,0.5五个值,循环执行步骤时按照五个比例值从大到小依次执行,直到可成功启动所述应用程序为止,若循环执行完毕仍不能成功启动,则终止循环执行步骤,应另行考虑系统可用内存外的其他原因导致启动失败。
在本发明实施例中,可通过调用WindowManagerService来设置新的显示比例,同时在handleAppCrashLocked方法中把该应用程序进程当做persistentprocess处理,即应用程序会自动重启。
在本发明的一个实施例中,所述方法还包括:
预先设置一组由大到小依次递减的比例值。
如可设置0.9,0.8,0.7,0.6,0.5五个值。当然也可以设置为其他值或其他数量,在此并不用于限制本发明。
在循环执行所述缩小显示比例及所述按照缩小后的显示比例重新启动应用程序的步骤时,显示比例按所述由大到小依次递减的比例值来缩小。
循环执行步骤时按照设置的比例值从大到小依次执行,直到可成功启动所述应用程序为止,若循环执行到最小的比例值仍不能成功启动,则终止循环执行步骤,应另行考虑系统可用内存外的其他原因导致启动失败。
请参阅图2,在本发明的一个实施例中,所述缩小显示比例及按照缩小后的显示比例重新启动应用程序的步骤为:
缩小至最小显示比例;在本步骤中需要将缩小的显示比例存储至显示比例数据库中。
按照最小显示比例重新启动应用程序;
所述方法还包括:
201、获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
在本发明实施例中,可通过ActivityManager(为系统中所有运行着的Activity交互提供了接口)的getMemoryInfo方法来获取系统可用内存,通过ActivityManager的getProcessMemoryInfo方法来获取按照最小显示比例重新启动应用程序时的应用程序所需内存。
202、根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序成功时的应用程序所需内存计算出应用程序可启动的最大显示比例。
本步骤中,可将(系统可用内存*最小显示比例)/按照最小显示比例重新启动应用程序时的应用程序所需内存,所得到的值作为应用程序可启动的最大显示比例。当然还可以通过其他公式来估算最大显示比例,在此并不用于限制本发明。
203、将应用程序从最小显示比例调至最大显示比例显示。
在本步骤中,显示比例直接由WindowManagerService的displayReady和computeNewConfigurationLocked方法控制调节显示,无需重新启动应用程序。
在本发明实施例中,当缩小至最小显示比例时,应用程序通常会启动成功,应用程序成功启动后,便可获取按照最小显示比例重新启动应用程序时的应用程序所需内存,从而为后续的计算应用程序可启动的最大显示比例及调节显示比例做了很好的铺垫。
请参阅图3,在本发明的一个实施例中,所述缩小显示比例及按照缩小后的显示比例重新启动应用程序的步骤为:
缩小至最小显示比例;在本步骤中需要将缩小的显示比例存储至显示比例数据库中。
按照最小显示比例重新启动应用程序;
所述方法还包括:
301、获取系统可用内存及按照最小显示比例重新启动时的应用程序所需内存;
302、根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
303、接收用户调大显示比例的命令;
本发明实施例的方法可应用于android系统,android系统包括一个缩放手势识别类ScaleGestureDetector。在本发明的一个实施例中,可在ScaleGestureDetector中增加手势判断功能,从而实现通过手动触摸屏幕来直接调节显示界面的大小,通过直接调节显示界面的大小来调节显示比例。
在本发明的另一个实施例中,还可在应用程序的显示界面上增加一个悬浮窗口,该窗口内显示有显示比例,用户可在该窗口内自由的调节显示比例。
304、当用户调大的显示比例没有超过最大显示比例时,则将应用程序的显示比例由最小显示比例调至用户调大的显示比例。
本发明实施例比较人性化,用户可更自由的调节应用程序的显示比例,只要不大于最大显示比例即可。
请参阅图4,本发明实施例还提供了一种应用程序的启动装置,所述装置包括:
启动单元401,用于按默认显示比例启动应用程序;
缩小单元402,用于在启动单元启动应用程序失败时,则缩小显示比例;
重启单元403,用于按照缩小后的显示比例重新启动应用程序。
在本发明实施例中,当所述重启单元启动应用程序失败时,则循环启用缩小单元及重启单元,直到可成功启动所述应用程序为止。
在本发明实施例中,所述装置还包括:
设置单元,用于预先设置一组由大到小依次递减的比例值;
在循环启用缩小单元及重启单元时,显示比例按所述由大到小依次递减的比例值来缩小。
请参阅图5,在本发明的一个实施例中,所述缩小单元,具体用于在启动单元启动应用程序失败时,则缩小至最小显示比例;
所述重启单元,用于按照最小显示比例重新启动应用程序;
所述装置还包括:
获取单元501,用于获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
计算单元502,用于根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
第一调节单元503,用于将应用程序从最小显示比例调至最大显示比例显示。
请参阅图6,在本发明的一个实施例中,所述缩小单元,具体用于在启动单元启动应用程序失败时,则缩小至最小显示比例;
所述重启单元,用于按照最小显示比例重新启动应用程序;
所述装置还包括:
获取单元601,用于获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
计算单元602,用于根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
接收单元603,用于接收用户调大显示比例的命令;
第二调节单元604,用于当用户调大的显示比例没有超过最大显示比例时,则将应用程序的显示比例由最小显示比例调至用户调大的显示比例。
装置中的细节方案已在方法中详细描述,在此不再赘述。
本发明的启动应用程序的方法及装置,在启动应用程序失败时,通过缩小显示比例,来缩小应用程序运行时所需的内存空间大小,并按照缩小后的显示比例重新启动应用程序,从而可有效的启动应用程序。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用程序的启动方法,其特征在于,所述方法包括:
按默认显示比例启动应用程序;
当启动应用程序失败时,则缩小显示比例;
按照缩小后的显示比例重新启动应用程序。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当重新启动应用程序失败时,则循环执行所述缩小显示比例及所述按照缩小后的显示比例重新启动应用程序的步骤,直到可成功启动所述应用程序为止。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
预先设置一组由大到小依次递减的比例值;
在循环执行所述缩小显示比例及所述按照缩小后的显示比例重新启动应用程序的步骤时,显示比例按所述由大到小依次递减的比例值来缩小。
4.如权利要求1所述的方法,其特征在于,所述缩小显示比例及按照缩小后的显示比例重新启动应用程序的步骤为:
缩小至最小显示比例;
按照最小显示比例重新启动应用程序;
所述方法还包括:
获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
将应用程序从最小显示比例调至最大显示比例显示。
5.如权利要求1所述的方法,其特征在于,所述缩小显示比例及按照缩小后的显示比例重新启动应用程序的步骤为:
缩小至最小显示比例;
按照最小显示比例重新启动应用程序;
所述方法还包括:
获取系统可用内存及按照最小显示比例重新启动时的应用程序所需内存;
根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
接收用户调大显示比例的命令;
当用户调大的显示比例没有超过最大显示比例时,则将应用程序的显示比例由最小显示比例调至用户调大的显示比例。
6.一种应用程序的启动装置,其特征在于,所述装置包括:
启动单元,用于按默认显示比例启动应用程序;
缩小单元,用于在启动单元启动应用程序失败时,则缩小显示比例;
重启单元,用于按照缩小后的显示比例重新启动应用程序。
7.如权利要求6所述的装置,其特征在于,当所述重启单元启动应用程序失败时,则循环启用缩小单元及重启单元,直到可成功启动所述应用程序为止。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
设置单元,用于预先设置一组由大到小依次递减的比例值;
在循环启用缩小单元及重启单元时,显示比例按所述由大到小依次递减的比例值来缩小。
9.如权利要求6所述的装置,其特征在于,所述缩小单元,具体用于在启动单元启动应用程序失败时,则缩小至最小显示比例;
所述重启单元,用于按照最小显示比例重新启动应用程序;
所述装置还包括:
获取单元,用于获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
计算单元,用于根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
第一调节单元,用于将应用程序从最小显示比例调至最大显示比例显示。
10.如权利要求6所述的装置,其特征在于,所述缩小单元,具体用于在启动单元启动应用程序失败时,则缩小至最小显示比例;
所述重启单元,用于按照最小显示比例重新启动应用程序;
所述装置还包括:
获取单元,用于获取系统可用内存及按照最小显示比例重新启动应用程序时的应用程序所需内存;
计算单元,用于根据系统可用内存、最小显示比例及按照最小显示比例重新启动应用程序时的应用程序所需内存计算出应用程序可启动的最大显示比例;
接收单元,用于接收用户调大显示比例的命令;
第二调节单元,用于当用户调大的显示比例没有超过最大显示比例时,则将应用程序的显示比例由最小显示比例调至用户调大的显示比例。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310572380.1A CN104636160B (zh) | 2013-11-13 | 2013-11-13 | 一种应用程序的启动方法及装置 |
PCT/CN2014/090778 WO2015070741A1 (zh) | 2013-11-13 | 2014-11-11 | 一种应用程序的启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310572380.1A CN104636160B (zh) | 2013-11-13 | 2013-11-13 | 一种应用程序的启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636160A true CN104636160A (zh) | 2015-05-20 |
CN104636160B CN104636160B (zh) | 2019-04-12 |
Family
ID=53056767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310572380.1A Active CN104636160B (zh) | 2013-11-13 | 2013-11-13 | 一种应用程序的启动方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104636160B (zh) |
WO (1) | WO2015070741A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707765A (zh) * | 2017-10-20 | 2018-02-16 | 珠海格力电器股份有限公司 | 一种图标显示方法及其装置、移动终端 |
CN109994061A (zh) * | 2017-12-29 | 2019-07-09 | 宏碁股份有限公司 | 数字广告牌系统 |
CN110704247A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市魅族科技有限公司 | 应用内存异常的处理方法、装置、电子设备及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150803A (zh) * | 2007-10-24 | 2008-03-26 | 优视动景(北京)技术服务有限公司 | 微浏览器处理网络数据的方法、微浏览器及其服务器 |
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN102123259A (zh) * | 2010-12-28 | 2011-07-13 | 四川长虹电器股份有限公司 | 一种在电视机上显示超大分辨率图片的方法 |
CN102203778A (zh) * | 2011-04-20 | 2011-09-28 | 华为终端有限公司 | 一种触摸屏上网页的调整方法和显示终端 |
-
2013
- 2013-11-13 CN CN201310572380.1A patent/CN104636160B/zh active Active
-
2014
- 2014-11-11 WO PCT/CN2014/090778 patent/WO2015070741A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150803A (zh) * | 2007-10-24 | 2008-03-26 | 优视动景(北京)技术服务有限公司 | 微浏览器处理网络数据的方法、微浏览器及其服务器 |
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN102123259A (zh) * | 2010-12-28 | 2011-07-13 | 四川长虹电器股份有限公司 | 一种在电视机上显示超大分辨率图片的方法 |
CN102203778A (zh) * | 2011-04-20 | 2011-09-28 | 华为终端有限公司 | 一种触摸屏上网页的调整方法和显示终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707765A (zh) * | 2017-10-20 | 2018-02-16 | 珠海格力电器股份有限公司 | 一种图标显示方法及其装置、移动终端 |
CN107707765B (zh) * | 2017-10-20 | 2020-09-25 | 珠海格力电器股份有限公司 | 一种图标显示方法及其装置、移动终端 |
CN109994061A (zh) * | 2017-12-29 | 2019-07-09 | 宏碁股份有限公司 | 数字广告牌系统 |
CN110704247A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市魅族科技有限公司 | 应用内存异常的处理方法、装置、电子设备及装置 |
CN110704247B (zh) * | 2019-09-30 | 2023-07-04 | 珠海市魅族科技有限公司 | 应用内存异常的处理方法、装置、电子设备及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104636160B (zh) | 2019-04-12 |
WO2015070741A1 (zh) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9336054B2 (en) | Method and apparatus for configuring resource | |
EP3100162B1 (en) | Task scheduling method and apparatus | |
US9690618B2 (en) | Method for task scheduling and electronic device using the same | |
EP3849247A1 (en) | Electronic device and method for operating the same | |
CN104268019A (zh) | 一种软件运行方法、装置及终端 | |
US20150121112A1 (en) | Method for adjusting shutdown threshold voltage, startup method, and electronic devices thereof | |
WO2016192188A1 (zh) | Cpu运行参数的调整方法及终端 | |
US20150261567A1 (en) | Task migration method and apparatus | |
CN104394675B (zh) | 一种终端 | |
US20140289719A1 (en) | Automatic version management | |
US10198174B2 (en) | Electronic device and method of managing memory of electronic device | |
WO2018018702A1 (zh) | 一种odex优化控制方法及移动终端 | |
US10963208B2 (en) | Electronic device and method for operating electronic device | |
CN104636160A (zh) | 一种应用程序的启动方法及装置 | |
US9727351B2 (en) | Method and device for setting status of application | |
KR102312672B1 (ko) | 데이터 처리 방법 및 전자 장치 | |
US10416751B2 (en) | Power saving mode control method and device for multiple operating systems, and terminal | |
CN105824660A (zh) | 一种应用程序的更新方法及终端 | |
CN105843752A (zh) | 分配移动终端内存缓存图片数据方法及装置 | |
KR102343642B1 (ko) | 데이터 운용 방법 및 전자 장치 | |
US20140129957A1 (en) | Personalized user interface on mobile information device | |
CN109933544B (zh) | 数据预热方法、装置、服务器及存储介质 | |
CN106598687B (zh) | 一种脚本预热方法和装置 | |
EP3523707B1 (en) | System-on-chip, electronic device including the same, and driving method thereof | |
CN115915105B (zh) | 一种基于智能算法的esim卡移动数据流量监测方法及系统 |
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 |