CN106598725A - 一种基于Android的Handler防内存泄漏装置及方法 - Google Patents
一种基于Android的Handler防内存泄漏装置及方法 Download PDFInfo
- Publication number
- CN106598725A CN106598725A CN201610929424.5A CN201610929424A CN106598725A CN 106598725 A CN106598725 A CN 106598725A CN 201610929424 A CN201610929424 A CN 201610929424A CN 106598725 A CN106598725 A CN 106598725A
- Authority
- CN
- China
- Prior art keywords
- message
- runnable
- asynchronous
- thread
- requests
- 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.)
- Pending
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于Android的Handler防内存泄漏装置,它包括:异步Runnable请求接收模块,用于接收异步任务的Runnable请求;同步模块,用于采用弱引用方法同步保存所有接收到的异步任务的Runnable请求;异步请求执行模块,用于执行异步任务的Runnable请求,判断是否有消息要发送;子线线程执行结束模块,用于在没有消息要发送时,结束子线线程;消息发送模块,用于在有消息要发送时,发送消息及消息与异步线程的弱引用关系;消息分发模块,用于存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。本发明引入弱引用关系,确保了资源可以顺利的被垃圾回收器进行回收,子线程和主线程正常通信的前提下确保不会发生内存泄漏的问题。
Description
技术领域
本发明属于Android***安全领域,具体涉及一种基于Android的Handler防内存泄漏装置及方法。
背景技术
在Android软件开发中或多或少会使用到多线程技术,在使用多线程技术的时候就有一个问题点的引出,那就是子线程和主线程是如何进行通信的。Android给我们提供了一个比较好用的工具Handler,通过Handler这个工具在子线程中发送消息给主线程,主线程接收到子线程的消息后,根据消息的不同类型会做不同的操作。
也就是说Handler主要是通过消息机制来使得主线程和子线程进行通信。Handler这种消息机制确实解决了子线程和主线程通信的问题,但是却又一个潜在的风险,使用上稍不注意就有可能会造成内存泄漏的风险。
内存泄漏会给***带来什么问题呢。手机上内存本身是属于比较紧张的资源,内存资源是有限的,内存泄漏指的就是那些曾经使用过,现在已经没有用了的资源,并没有及时释放掉该部分内存,且该部分资源一直在内存中存在,这块区域既不能使用也不会被释放。由于这块内存一直被占用且不能被及时释放掉,所以导致其他情况下需要再次申请内存的时候却申请不到足够的内存空间就会出现***卡顿,严重时候可能会出现应用崩溃等后果。由此可见内存泄漏给我们带来了非常不好结果。
发明内容
本发明要解决的技术问题是:提供一种基于Android的Handler防内存泄漏装置及方法,在子线程和主线程正常通信的前提下避免内存的泄漏。
本发明为解决上述技术问题所采取的技术方案为:一种基于Android的Handler防内存泄漏装置,其特征在于:它包括:
异步Runnable请求接收模块,用于接收异步任务的Runnable请求;
同步模块,用于采用弱引用方法同步保存所有接收到的异步任务的Runnable请求;
异步请求执行模块,用于执行异步任务的Runnable请求,判断是否有消息要发送;
子线线程执行结束模块,用于在没有消息要发送时,结束子线线程;
消息发送模块,用于在有消息要发送时,发送消息及消息与异步线程的弱引用关系;
消息分发模块,用于存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
按上述装置,所述的同步模块中包含双向链表,用于存储所述的异步任务的Runnable请求。
按上述装置,所述的同步模块中还存储有线程的优先级,用于按照优先级移出异步任务的Runnable请求。
按上述装置,所述的同步模块中包括有锁模块,用于实现同步保存;锁模块包括:
锁获取模块,用于在接收到新的异步任务的Runnable请求时,获取锁的所有权;
操作模块,用于在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;
锁释放模块,用于在存储或移出操作完成时,释放锁的所有权。
按上述装置,所述的消息包括及时消息和延时消息;
所述的消息分发模块中设有消息队列和定时器;所述的定时器用于定时,当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;所述的消息队列用于按照消息进入的先后顺序有序的发送给主线程处理。
一种基于Android的Handler防内存泄漏方法,其特征在于:它包括以下步骤:
接收异步任务的Runnable请求;
采用弱引用方法同步保存所有接收到的异步任务的Runnable请求;
执行异步任务的Runnable请求,判断是否有消息要发送;
在没有消息要发送时,结束子线线程;
在有消息要发送时,发送消息及消息与异步线程的弱引用关系;
存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
按上述方法,采用双向链表的方式存储所述的异步任务的Runnable请求。
按上述方法,存储所述的异步任务的Runnable请求后,按照优先级移出异步任务的Runnable请求。
按上述方法,实现同步保存的具体方式为:
在接收到新的异步任务的Runnable请求时,获取锁的所有权;
在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;
在存储或移出操作完成时,释放锁的所有权。
按上述方法,所述的消息包括及时消息和延时消息;
本方法中设有消息队列和定时器;当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;消息队列按照消息进入的先后顺序有序的发送给主线程处理。
本发明的有益效果为:
1、在存储异步任务的Runnable请求和发送消息时,均采用弱引用的方式,弱引用最大的优势在于当***资源紧张的时候垃圾回收器能够自动去回收弱引用的资源,因此弱引用关系的引入,确保了资源可以顺利的被垃圾回收器进行回收,子线程和主线程正常通信的前提下确保不会发生内存泄漏的问题,从而从根本上杜绝内存泄漏问题的产生。
2、通过采用双向链表的方式存储异步任务的Runnable请求,利用双向链表“在对数据进行更改的时候主要改动的是指针而不是数据本身”这一独有的特性,能够快速对数据进行删除和增加,提高效率。
3、通过对线程进行分级处理,高优先级的任务可以被优先处理,充分保证对紧急任务进行优先调度。
4、对消息的分发做了一定的处理。
附图说明
图1为本发明一实施例的方法流程图。
图2为同步保存的方法流程图。
具体实施方式
名词解释:
Handler:Android***提供的一套主线程和子线程进行通信的工具
内存泄漏:内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。
:在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口。Runnable是多线程的一种表现形式。
垃圾回收器:是Java虚拟机提供的一套垃圾回收算法,会定期回收***中无用的垃圾对象来释放内存空间。
下面结合具体实例和附图对本发明做进一步的说明。
实施例一:
本实施例提供一种基于Android的Handler防内存泄漏装置,它包括:异步Runnable请求接收模块,用于接收异步任务的Runnable请求。同步模块,用于采用弱引用方法同步保存所有接收到的异步任务的Runnable请求。异步请求执行模块,用于执行异步任务的Runnable请求,判断是否有消息要发送;子线线程执行结束模块,用于在没有消息要发送时,结束子线线程。消息发送模块,用于在有消息要发送时,发送消息及消息与异步线程的弱引用关系。消息分发模块,用于存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
一种基于Android的Handler防内存泄漏方法,如图1所示,包括以下步骤:
S1、接收异步任务的Runnable请求。
S2、采用弱引用方法同步保存所有接收到的异步任务的Runnable请求。
弱引用是Java中的一个工具,默认情况下Java语言中的对象之间的关系是强引用关系。弱引用的使用方式是使用关键字WeakReference来对对象进行修饰(例如WeakReference<Date> mDate),经过WeakReference修饰过的对象就和该类存在弱引用关系了。弱引用和强引用关系最大的区别在于:
1)对于强引用当内存资源使用过后如果还有任何其他资源对其持有引用关系那么垃圾回收器就无法对该资源进行回收。
2)对于弱引用当内存资源使用过后及时还要其他资源对其持有引用关系,垃圾回收器对内存进行回收的时候发现该对象已经被标记为弱引用关系,那么垃圾回收器依旧会对其进行回收处理。
S3、执行异步任务的Runnable请求,判断是否有消息要发送。
取出异步任务的Runnable请求进行执行处理。如果异步任务中没有任何消息返回,则直接处理完成,不会向外层发送任何处理消息信息。如果异步线程需要向外界发送消息的时候这个时候异步任务会向主线程发送消息。
S4、在没有消息要发送时,结束子线线程。
S5、在有消息要发送时,发送消息及消息与异步线程的弱引用关系。
此时因为异步任务需要发送消息,所以异步任务和消息之间是有引用关系的。因为有可能消息的处理会需要很长时间,这个时候会导致消息持有异步线程从而异步线程无法进行回收的可能性,所以这个地方我们在设计的时候使用了弱引用WeakReference来避免上述问题的发生,即使消息没有处理完线程资源依旧可以被***垃圾回收器进行回收。
因为使用了弱引用来处理消息和线程之间的关系,这样就将消息和线程之间的联系“变弱”了,在整个***执行期间方便垃圾回收机制进行回收了。
S6、存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
S7、消息分发到主线程后,主线程可以对相应的消息做出相应的处理。此处的具体处理就和具体的业务逻辑相关了,比如子线程下载完成了需要刷新主线程UI等。(此步骤为可选步骤,仅用于说明消息分发到主线程后进行了怎样的处理,并非本发明的核心)
本实施例的整体设计中有2个地方使用到了弱引用关系,一个是线程和线程集合使用了弱引用关系,另外一个是线程和消息之间使用了弱引用关系。因为弱引用关系的使用,使得垃圾回收器能够在相应的时候对资源进行合理的回收,不会出现混乱的引用关系导致无法回收的问题。本实施例中使用到了弱引用,垃圾回收器会定期对垃圾进行回收,所以不用每次都手动去释放内存,也不用再担心内存泄露的问题点了。
实施例二:
本实施例在实施例一的基础上,装置:在同步模块中设置双向链表,用于存储所述的异步任务的Runnable请求。方法:采用双向链表的方式存储所述的异步任务的Runnable请求。
双向链表的每一个数据节点都包含对前一个节点的引用关系prior和对后一个节点的引用关系next。只有第一个节点和最后一个节点会有一些特殊的地方。第一个节点的prior为空,因为第一个节点没有上一个节点。最后一个节点的next为空,因为最后一个节点没有下面的节点数据了。其他所有节点都是有prior和next信息保存的。之所以使用双向链表来存储所有异步任务,主要原因是双向链表独有的特性,能够快速对数据进行删除和增加,也是因为有这个特性所以在设计的时候我们选择了双向链表对数据异步任务集合进行管理。之所以能够快速对数据进行增加和删除,是因为双向链表在对数据进行更改的时候主要改动的是指针而不是数据本身,所以对于数据的改变会非常高效。
实施例三:
本实施例在实施例一或二的基础上,装置:同步模块中还存储有线程的优先级,用于按照优先级移出异步任务的Runnable请求。方法:存储所述的异步任务的Runnable请求后,按照优先级移出异步任务的Runnable请求。这样高优先级的任务可以被优先处理。分级后能够保证对紧急任务进行优先调度。
实施例四:
本实施例在实施例一或二的基础上,装置:同步模块中包括有锁模块,用于实现同步保存;锁模块包括:锁获取模块,用于在接收到新的异步任务的Runnable请求时,获取锁的所有权;操作模块,用于在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;锁释放模块,用于在存储或移出操作完成时,释放锁的所有权。
方法:实现同步保存的具体方式如图2所示:
S201、在接收到新的异步任务的Runnable请求时,获取锁的所有权;
S202、如果获取锁的所有权失败,则不断轮询重新获取;
S203、在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;
S204、在存储或移出操作完成时,释放锁的所有权。
整个***中设置了锁默认只有一个,这样也就保证了任何时刻只能有一个线程获取到锁资源,这样就可以确保异步任务的Runnable请求的存储和移出是同步完成处理的。
当异步任务的Runnable请求的存储和移出操作执行完成后,需要立即释放锁权限,将锁资源进行释放,这样才能够方便另外的线程进行锁资源的获取。此处一定需要对锁资源进行释放,只有释放了锁资源其他线程才能够再次获取锁执行后面的流程。
实施例五:
本实施例在实施例一的基础上,装置:所述的消息包括及时消息和延时消息;所述的消息分发模块中设有消息队列和定时器;所述的定时器用于定时,当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;所述的消息队列用于按照消息进入的先后顺序有序的发送给主线程处理。
方法:设有消息队列和定时器;当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;消息队列按照消息进入的先后顺序有序的发送给主线程处理。
通过对消息的分类,从而对不同的消息进行时间逻辑的分发,进一步提高了消息处理的高效性。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。应当强调的是,实施例二至实施例五均为优选方案,其中任意一实施例或几个实施例的叠加也应当属于本发明的保护范围。并且,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (10)
1.一种基于Android的Handler防内存泄漏装置,其特征在于:它包括:
异步Runnable请求接收模块,用于接收异步任务的Runnable请求;
同步模块,用于采用弱引用方法同步保存所有接收到的异步任务的Runnable请求;
异步请求执行模块,用于执行异步任务的Runnable请求,判断是否有消息要发送;
子线线程执行结束模块,用于在没有消息要发送时,结束子线线程;
消息发送模块,用于在有消息要发送时,发送消息及消息与异步线程的弱引用关系;
消息分发模块,用于存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
2.根据权利要求1所述的一种基于Android的Handler防内存泄漏装置,其特征在于:所述的同步模块中包含双向链表,用于存储所述的异步任务的Runnable请求。
3.根据权利要求1或2所述的一种基于Android的Handler防内存泄漏装置,其特征在于:所述的同步模块中还存储有线程的优先级,用于按照优先级移出异步任务的Runnable请求。
4.根据权利要求1或2所述的一种基于Android的Handler防内存泄漏装置,其特征在于:所述的同步模块中包括有锁模块,用于实现同步保存;锁模块包括:
锁获取模块,用于在接收到新的异步任务的Runnable请求时,获取锁的所有权;
操作模块,用于在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;
锁释放模块,用于在存储或移出操作完成时,释放锁的所有权。
5.根据权利要求1所述的一种基于Android的Handler防内存泄漏装置,其特征在于:所述的消息包括及时消息和延时消息;
所述的消息分发模块中设有消息队列和定时器;所述的定时器用于定时,当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;所述的消息队列用于按照消息进入的先后顺序有序的发送给主线程处理。
6.一种基于Android的Handler防内存泄漏方法,其特征在于:它包括以下步骤:
接收异步任务的Runnable请求;
采用弱引用方法同步保存所有接收到的异步任务的Runnable请求;
执行异步任务的Runnable请求,判断是否有消息要发送;
在没有消息要发送时,结束子线线程;
在有消息要发送时,发送消息及消息与异步线程的弱引用关系;
存储消息及消息与异步线程的弱引用关系,并按照消息的时间顺序发送给主线程处理。
7.根据权利要求1所述的一种基于Android的Handler防内存泄漏方法,其特征在于:采用双向链表的方式存储所述的异步任务的Runnable请求。
8.根据权利要求6或7所述的一种基于Android的Handler防内存泄漏方法,其特征在于:存储所述的异步任务的Runnable请求后,按照优先级移出异步任务的Runnable请求。
9.根据权利要求6或7所述的一种基于Android的Handler防内存泄漏方法,其特征在于:实现同步保存的具体方式为:
在接收到新的异步任务的Runnable请求时,获取锁的所有权;
在获取到锁的所有权时对所述的新的异步任务的Runnable请求进行存储或移出操作;
在存储或移出操作完成时,释放锁的所有权。
10.根据权利要求6所述的一种基于Android的Handler防内存泄漏方法,其特征在于:所述的消息包括及时消息和延时消息;
本方法中设有消息队列和定时器;当定时器超时后将延时消息发送到消息队列中;所述的及时消息被直接放入消息队列;消息队列按照消息进入的先后顺序有序的发送给主线程处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929424.5A CN106598725A (zh) | 2016-10-31 | 2016-10-31 | 一种基于Android的Handler防内存泄漏装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929424.5A CN106598725A (zh) | 2016-10-31 | 2016-10-31 | 一种基于Android的Handler防内存泄漏装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598725A true CN106598725A (zh) | 2017-04-26 |
Family
ID=58556455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610929424.5A Pending CN106598725A (zh) | 2016-10-31 | 2016-10-31 | 一种基于Android的Handler防内存泄漏装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598725A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015866A (zh) * | 2017-03-23 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN107291598A (zh) * | 2017-08-07 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 监控方法、监控装置、监控设备和存储介质 |
CN107515792A (zh) * | 2017-07-27 | 2017-12-26 | 北京五八信息技术有限公司 | 功能类使用Handler进行消息处理的方法和装置 |
CN107818023A (zh) * | 2017-11-06 | 2018-03-20 | 深圳市雷鸟信息科技有限公司 | 基于线程的消息处理方法、智能设备及存储介质 |
CN108008950A (zh) * | 2017-11-24 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种用户界面更新的实现方法及装置 |
CN109062689A (zh) * | 2018-07-17 | 2018-12-21 | 武汉斗鱼网络科技有限公司 | 自动释放文件资源的方法、存储介质、电子设备以及*** |
CN109246177A (zh) * | 2018-07-04 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | Android中异步通信工具设计方法 |
CN109347996A (zh) * | 2018-12-10 | 2019-02-15 | 中共中央办公厅电子科技学院 | 一种dns域名获取***及方法 |
CN109800783A (zh) * | 2018-12-11 | 2019-05-24 | 中新金桥数字科技(北京)有限公司 | 基于Android Pad实现超大图片叠加对比的方法及其*** |
CN110647405A (zh) * | 2018-06-27 | 2020-01-03 | 北京京东尚科信息技术有限公司 | ***消息处理方法、电子设备和计算机可读存储介质 |
CN110806867A (zh) * | 2018-08-06 | 2020-02-18 | 武汉斗鱼网络科技有限公司 | 一种Handle管理方法、存储介质、电子设备及*** |
CN112015395A (zh) * | 2020-08-28 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 防止内存泄漏方法、装置及计算机可读存储介质 |
CN112416623A (zh) * | 2020-11-27 | 2021-02-26 | 宝能(广州)汽车研究院有限公司 | 用于安卓***的消息传递方法及计算机可读存储介质 |
WO2021147382A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711739B1 (en) * | 1999-11-08 | 2004-03-23 | Sun Microsystems, Inc. | System and method for handling threads of execution |
CN101727355A (zh) * | 2008-10-31 | 2010-06-09 | 国际商业机器公司 | 用于内存访问事件的处理方法和*** |
US7756911B2 (en) * | 2006-06-09 | 2010-07-13 | International Business Machines Corporation | Method and system for executing a task and medium storing a program therefor |
CN102999386A (zh) * | 2012-11-08 | 2013-03-27 | 山东大学 | 一种通过在单进程中实现多消息队列机制提升性能的方法 |
CN104423996A (zh) * | 2013-09-04 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 视图刷新方法和装置 |
CN104834544A (zh) * | 2015-05-04 | 2015-08-12 | 广州杰赛科技股份有限公司 | 数据加载方法及装置 |
-
2016
- 2016-10-31 CN CN201610929424.5A patent/CN106598725A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711739B1 (en) * | 1999-11-08 | 2004-03-23 | Sun Microsystems, Inc. | System and method for handling threads of execution |
US7756911B2 (en) * | 2006-06-09 | 2010-07-13 | International Business Machines Corporation | Method and system for executing a task and medium storing a program therefor |
CN101727355A (zh) * | 2008-10-31 | 2010-06-09 | 国际商业机器公司 | 用于内存访问事件的处理方法和*** |
CN102999386A (zh) * | 2012-11-08 | 2013-03-27 | 山东大学 | 一种通过在单进程中实现多消息队列机制提升性能的方法 |
CN104423996A (zh) * | 2013-09-04 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 视图刷新方法和装置 |
CN104834544A (zh) * | 2015-05-04 | 2015-08-12 | 广州杰赛科技股份有限公司 | 数据加载方法及装置 |
Non-Patent Citations (2)
Title |
---|
张帆: "《java范例开发大全》", 30 June 2010, 清华大学出版社 * |
高林: "基于Android智能终端信息采集***的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015866A (zh) * | 2017-03-23 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN107515792A (zh) * | 2017-07-27 | 2017-12-26 | 北京五八信息技术有限公司 | 功能类使用Handler进行消息处理的方法和装置 |
CN107515792B (zh) * | 2017-07-27 | 2020-11-10 | 北京五八信息技术有限公司 | 功能类使用Handler进行消息处理的方法和装置 |
CN107291598A (zh) * | 2017-08-07 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 监控方法、监控装置、监控设备和存储介质 |
CN107291598B (zh) * | 2017-08-07 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 监控方法、监控装置、监控设备和存储介质 |
CN107818023A (zh) * | 2017-11-06 | 2018-03-20 | 深圳市雷鸟信息科技有限公司 | 基于线程的消息处理方法、智能设备及存储介质 |
CN107818023B (zh) * | 2017-11-06 | 2021-06-15 | 深圳市雷鸟网络传媒有限公司 | 基于线程的消息处理方法、智能设备及存储介质 |
CN108008950A (zh) * | 2017-11-24 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种用户界面更新的实现方法及装置 |
CN110647405A (zh) * | 2018-06-27 | 2020-01-03 | 北京京东尚科信息技术有限公司 | ***消息处理方法、电子设备和计算机可读存储介质 |
CN109246177A (zh) * | 2018-07-04 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | Android中异步通信工具设计方法 |
CN109246177B (zh) * | 2018-07-04 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | Android中异步通信工具设计方法 |
CN109062689B (zh) * | 2018-07-17 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 自动释放文件资源的方法、存储介质、电子设备以及*** |
CN109062689A (zh) * | 2018-07-17 | 2018-12-21 | 武汉斗鱼网络科技有限公司 | 自动释放文件资源的方法、存储介质、电子设备以及*** |
CN110806867A (zh) * | 2018-08-06 | 2020-02-18 | 武汉斗鱼网络科技有限公司 | 一种Handle管理方法、存储介质、电子设备及*** |
CN110806867B (zh) * | 2018-08-06 | 2022-06-17 | 武汉斗鱼网络科技有限公司 | 一种Handle管理方法、存储介质、电子设备及*** |
CN109347996A (zh) * | 2018-12-10 | 2019-02-15 | 中共中央办公厅电子科技学院 | 一种dns域名获取***及方法 |
CN109800783A (zh) * | 2018-12-11 | 2019-05-24 | 中新金桥数字科技(北京)有限公司 | 基于Android Pad实现超大图片叠加对比的方法及其*** |
WO2021147382A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海万物新生环保科技集团有限公司 | 一种检测任务执行方法及设备 |
CN112015395A (zh) * | 2020-08-28 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 防止内存泄漏方法、装置及计算机可读存储介质 |
CN112416623A (zh) * | 2020-11-27 | 2021-02-26 | 宝能(广州)汽车研究院有限公司 | 用于安卓***的消息传递方法及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598725A (zh) | 一种基于Android的Handler防内存泄漏装置及方法 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN104216767B (zh) | 多线程之间访问共享数据的方法及装置 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN109783229A (zh) | 线程资源分配的方法及装置 | |
CN101452399B (zh) | 任务二级调度模块及方法 | |
CN112527489B (zh) | 一种任务调度方法、装置、设备及计算机可读存储介质 | |
CN107181789A (zh) | 一种分布式锁实现方法及装置 | |
CN108399094B (zh) | 一种应用的部署方法、其部署装置及边缘数据中心 | |
CN107515785A (zh) | 一种内存管理方法及装置 | |
CN104461707A (zh) | 一种锁请求处理方法及装置 | |
US20240248759A1 (en) | Scheduling of a plurality of graphic processing units | |
CN101477386B (zh) | 一种定时器实现方法和装置 | |
CN102207890A (zh) | 一种任务信息处理方法及调度控制处理装置 | |
CN103257700B (zh) | 一种Android***的节能方法及装置 | |
CN111597035B (zh) | 基于多线程的仿真引擎时间推进方法及*** | |
CN107357630A (zh) | 一种实现虚拟机同步的方法、装置和存储介质 | |
CN110471774A (zh) | 一种基于统一任务调度的数据处理方法及装置 | |
CN107766125A (zh) | 一种云平台虚拟机的删除方法 | |
CN113051049B (zh) | 任务调度***、方法、电子设备及可读存储介质 | |
CN114579323A (zh) | 一种线程处理方法、装置、设备及介质 | |
CN110442530A (zh) | 优化内存数据处理的方法、存储介质 | |
CN112346848A (zh) | 一种管理内存池的方法、装置及终端 | |
CN110543357B (zh) | 管理应用程序对象的方法,相关装置及*** | |
CN117331655A (zh) | 多线程调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |