![](https://img-blog.csdnimg.cn/20191129111707125.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
开发要求-线程
Chin_style
试着把内容大声念出来,说话与倾听都会用到大脑的不同位置,与人交谈效果最好
展开
-
Android进程和线程详解
一、前期基础知识普及(1)苹果6双核手机跟其它4核和8核手机有什么区别?千万不要把苹果手机的硬件直接和安卓之类的手机相比较,根本没有可比性,苹果最新的6和6Plus都只是双核处理器,1GB运行内存 800万像素摄像头,但是苹果手机的强大之处是强大的系统优化、丰富的应用软件、高人一等的相机算法,使得它仍然是地球上使用体验最好的手机(没有之一,虽然我不是果粉,但我仍然不得不这么说)。(2)安卓手机双核...原创 2018-03-23 20:57:30 · 1842 阅读 · 0 评论 -
ANR问题定位及优化
一、前期基础知识储备(1)ANR错误定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作“应用程序无响应”(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。默认情况下,在Android中Ac...原创 2018-03-27 15:28:16 · 3806 阅读 · 0 评论 -
Java线程阻塞方法sleep()和wait()精炼详解
一、前期基础知识储备sleep()和wait()方法都是Java中造成线程阻塞的方法。感兴趣的读者可以参见笔者之前的文章《Java中什么方法导致线程阻塞》,里面详细讲述了为什么Java要造成线程阻塞和Java中造成线程阻塞的几种方法。线程的生命周期这是笔者在谷歌图片中找到的一张简单描述线程生命周期的图片,可以看到,一个线程正常的生命周期中会经历“创建”“就绪”“运行”“阻塞”“运行...原创 2018-04-10 22:53:58 · 41457 阅读 · 10 评论 -
利用synchronized实现线程同步
一、前期基础知识储备(1)线程同步的定义:多线程之间的同步。(2)多线程同步原因:一个多线程的程序如果是通过Runnable接口实现的,则意味着类中的属性将被多个线程共享,由此引出资源的同步问题,即当多个线程要操作同一资源时,有可能出现错误。(3)实现多线程同步的方式——引入同步机制:在线程使用一个资源时为其加锁,这样其他的线程便不能访问那个资源了,直到解锁后才可以访问。——这样做的结果,所有线程...原创 2018-03-26 22:36:13 · 1519 阅读 · 0 评论 -
Handler类中发送消息-post()和postDelay()方法精炼详解
一、前期知识储备(1)上官方文档:参见Handler类中的描述首先,post和postDelay都是Handler的方法,用以在子线程中发送Runnable对象的方法;其次,Android中post()方法可以直接在非UI线程中更新UI,不同与Handelr的Send类方法,需要进行切换;最后,两个方法在实现UI线程事件的时间上有所区别,postDelayed()方法用...原创 2018-03-26 18:17:20 · 28138 阅读 · 0 评论 -
Handler、Thread、HandlerThread三者的区别
一、前期知识储备(1)Handler类,上官方文档,Handlerpublic class Handler.A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associ...原创 2018-03-25 15:59:34 · 41332 阅读 · 12 评论 -
进程间通信(IPC机制)精炼详解
一、前期基础知识储备IPC定义:IPC是intent-Process Communication的缩写,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。IPC不是Android所独有的,任何一个操作系统都需要有相应的IPC机制,比如Windows上可以通过剪贴板、管道和邮槽等来进行进程间通信,而Linux上可以通过命名共享内容、信号量等来进行线程间通信。对于Android来说,...原创 2018-04-09 16:45:28 · 20190 阅读 · 4 评论 -
Android进程保活精炼详解
一、前期基础知识储备在之前的文章《如何保证Service在后台不被杀死?》中,笔者分析了为什么要保活Service、Service的几种保活方法和Service保活的意义。今天的这篇文章就更进一步,讲解进程保活的方法和意义。(1)什么是进程保活?拿我们的手机应用程序QQ来说,我们只要最近打开过QQ一次,那么QQ就可以一直在后台运行而不会自动关闭。这对于所有应用程序来说,都是梦寐以求的事,试想下,你...原创 2018-04-09 14:57:58 · 1960 阅读 · 0 评论 -
Java中什么方法导致线程阻塞
一、为什么引入线程阻塞机制?为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持。阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系...原创 2018-03-24 16:45:41 · 36671 阅读 · 4 评论 -
Android主线程阻塞处理及优化
一、前期基础知识储备当一个应用程序启动之后,android系统会为这个应用程序创建一个主线程(Main Thread),它负责渲染视图,分发事件到响应监听器并执行,对界面进行轮询的监听。因此,一般也叫做“UI线程”(UI Thread)。android系统不会给应用程序的多个元素组件建立多个线程来执行。一个视图(Activity)中的多个view组件运行在同一个UI线程当中。因此,多个view...原创 2018-03-24 19:09:52 · 24328 阅读 · 3 评论 -
Android多线程编程和线程池
一、前期基础知识储备1)线程概念线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子 线程,主线程主要处理和界面UI相关的事,而子线程则往往用于执行耗时操作。由于Android的特性,如果在主线程中执行耗时操作那么就会导致程序无法及时响应,因此耗时操作必须放在子线程中去执行。除了主线程之外的线程都是子线程。2)扮演线程的角色有哪些除了普通线程Thread之...原创 2018-12-16 17:08:56 · 2520 阅读 · 0 评论