萨达哈鲁的博客

Android小菜鸟到大菜鸟的编程之路

狼人杀语音法官助手

狼人杀语音法官助手 简介 为什么叫语音法官助手呢?因为他可以自己在黑夜里叫玩家睁眼闭眼,记录 游戏状态,这样当玩狼人少一个法官,或者大家都要玩的时候,有一个手机当法官,岂不是美滋滋? 版本 V 1.1.0 版本 增加重新选择人数以及角色功能,可以重新选择游戏人数,重新选择游戏...

2018-03-04 22:24:32

阅读数 4448

评论数 0

主流视频通话SDK比较

视频通话框架 主流的视频通讯框架比较多,此文主要通过Android平台的来做SDK平台使用的比较。 现在的视频热门框架有一些如: Jitsi  Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话、会议、聊天、桌面共享、文件传传输。可以安装在你喜欢的操作系...

2017-01-11 17:54:29

阅读数 19878

评论数 10

Android摄像头获取实时数据+Demo

首先需要用到的是一个叫Camera类的,更新的一个叫Camera2的类。 Camera2是从 SDK 5.0(API Level 21)开始才被引入的。里面的方法有些还是比原来的方便许多的,但是,用户系统版本参差不齐,所以暂时还是使用Camera来进行开发。 SufaceView...

2016-10-06 18:19:07

阅读数 13347

评论数 2

ubuntu主题美化和软件推荐

系统清理篇 系统更新 安装完系统之后,需要更新一些补丁。Ctrl+Alt+T调出终端,执行一下代码: sudo apt-get update sudo apt-get upgrade 修改hosts篇 为了便于后续软件能够快速下载,建议先翻墙。教程如下: 翻墙我建...

2019-01-15 18:21:19

阅读数 2573

评论数 0

AtomicInteger类的理解与使用

前言 JDK1.5之后的java.util.concurrent.atomic包里,多了一批原子处理类。AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference。主要用于在高并发环境下的高效程序处理,来帮助我们简化同步处理. Atom...

2018-09-05 19:23:06

阅读数 86

评论数 0

HTTP缓存控制小结

前言 通过网络获取内容既缓慢,成本又高:大的响应需要在客户端和服务器之间进行多次往返通信,这拖延了浏览器可以使用和处理内容的时间,同时也增加了访问者的数据成本。因此,缓存和重用以前获取的资源的能力成为优化性能很关键的一个方面。 与缓存相关的HTTP首部字段 我们先来瞅一眼RFC261...

2018-09-04 20:34:23

阅读数 242

评论数 0

Android开发之全局异常捕获

前言 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大...

2018-09-04 19:43:02

阅读数 625

评论数 0

Android内存优化--使用SparseArray和ArrayMap代替HashMap

前言 在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的a...

2018-09-04 19:25:14

阅读数 94

评论数 0

Java 类加载机制

前言 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而...

2018-08-29 19:41:39

阅读数 103

评论数 0

Java 内存模型及GC原理

前言 一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。 本文将从JVM内存模型、GC工作原理,以及GC的几个关键问题进...

2018-08-29 13:00:38

阅读数 106

评论数 0

什么是死锁及死锁的必要条件和解决方法

前言 在计算机系统中有很多一次只能由一个进程使用的资源,如打印机,磁带机,一个文件的I节点等。在多道程序设计环境中,若干进程往往要共享这类资源,而且一个进程所需要的资源不止一个。这样,就会出现若干进程竞争有限资源,又推进顺序不当,从而构成无限期循环等待的局面。这种状态就是死锁。系统发生死锁现象不...

2018-08-26 20:59:34

阅读数 105

评论数 0

Java 多线程加锁的方式总结及对比

前言 Java多线程可以通过: synchronized关键字 Java.util.concurrent包中的lock接口和ReentrantLock实现类 这两种方式实现加锁。 Lock 和 synchronized synchronized关键字加锁的缺陷 如果一个...

2018-08-25 10:14:41

阅读数 78

评论数 0

LruCache 源码解析

简介 LRU 是 Least Recently Used 最近最少使用算法。 曾经,在各大缓存图片的框架没流行的时候。有一种很常用的内存缓存技术:SoftReference 和 WeakReference(软引用和弱引用)。但是走到了 Android 2.3(Level 9)时代...

2018-08-15 08:31:36

阅读数 87

评论数 0

Android高效加载大图、多图解决方案,有效避免程序OOM

高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应...

2018-08-15 07:54:47

阅读数 147

评论数 0

Android应用层View绘制流程与源码分析

前言 Activity中界面加载显示的基本流程原理,最终分析结果就是下面的关系: 看见没有,如上图中id为content的内容就是整个View树的结构,所以对每个具体View对象的操作,其实就是个递归的实现。 Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View实...

2018-08-12 20:36:07

阅读数 113

评论数 0

Retrofit2.0 源码分析

前言 注解式的框架非常火,注解以其轻量,简洁等特性被人们所喜爱者,关键是它解藕。网络请求的框架非常多,比较受欢迎的当属retrofit和okHttp了。连retrofit都是基于okHttp之上开发的。ok, 言归正传,我们来聊聊retrofit。如果对okhttp有疑问的可以阅读我的这篇文...

2018-08-10 08:35:40

阅读数 156

评论数 0

详解Java中的clone方法 -- 深拷贝和浅拷贝

Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 使用new操作符创建一个对象 使用clone...

2018-08-08 08:21:35

阅读数 183

评论数 0

Android 9 Pie 现已面向全球正式发布!

前言 经历一年多的开发和数月以来早期用户的反复测试,最新 Android 平台 —— Android 9 Pie 终于正式面向全球发布! Android 9 利用人工智能技术,让您的手机更加智能、简洁与人性化。请通过本文了解 Android 9 的所有新特性,同时也希望各位开发者能够借助 ...

2018-08-08 08:08:29

阅读数 1139

评论数 0

okhttp3 源码详细解析

前言 OkHttp是一个非常优秀的网络请求框架。目前比较流行的Retrofit也是默认使用OkHttp的。所以OkHttp的源码是一个不容错过的学习资源。 基本使用 从使用方法出发,首先是怎么使用,其次是我们使用的功能在内部是如何实现的.源码地址 OkHttpClient client...

2018-08-04 22:34:23

阅读数 405

评论数 0

LeakCanary 原理浅析

前言 提到Java语言的特点,无论是教科书还是程序员一般都会罗列出面向对象、可移植性及安全等特点。但如果你是一位刚从C/C++转到Java的程序员,对Java语言的特性除了面向对象之外,最外直接的应当是在Java虚拟机(JVM)在内存管理方面给我们变成带来的便利。JVM的这一大特性使Java程序...

2018-08-04 09:59:59

阅读数 837

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭