渐行渐远

泡在android世界的日子

WebRTC 入门(三) —— 基础概念之RTCPeerConnection

相关概念

WebRTC 入门(三) —— 基础概念之RTCPeerConnection RTCPeerConnection RTCPeerConnection 是WebRTC的一个组件,用来在浏览器之间高效的处理固定流数据的通道。这个流数据通道是点对点的,无需服务器的中转,但为了建立起这个数据通道,我们仍然需要借助于服务器实现信令的传输。关于如何实现信令交互,请阅读关于信令的内容。 下面是一个 ...

WebRTC 入门(二) —— 基础概念之MediaStream

相关概念

WebRTC 入门(二) —— 基础概念之MediaStream WebRTC相关概念介绍 想要实现webRTC的功能,一个WebRTC应用首先需要完成如下操作: 获取音视频或者其他格式的数据。 获取诸如ip地址,端口等网络信息,并且在即使有NAT和防火墙的情况下和其他的WebRTC端交换这些数据用于建立连接。 对等的信令用于发起或关闭回话,报告错误等。 相互交换关于...

深度学习之神经网络算法

深度学习之神经网络算法

最近在学习深度学习机器学习的相关内容,神经网络算法确实是有很多应用的场景,也非常值得学习和探讨,因此在学习中记录下来,也大家交流。 题外话 这里抛出一个问题,人是如何从出生到慢慢长大的过程中记忆生活中的一些东西的?生物在外界刺激的条件下是如何建立反馈机制的?相信学过生物的同学肯定听说过神经元也就是神经细胞,它的定义是神经系统中负责神经传导的基本结构和功能单位。下图是一个典型的神经元...

java中的volatile关键字

java中的volatile关键字

前言 java语言对于同步的支持提供了两种内在的同步机制:同步块(或同步方法)、volatile变量。同步块的用法相对来说对于volatile更加完善,但同时又比较重,运行时的开销也比较大,而volatile相比而言虽然不能完全完成synchronized的功能,但是在某些场景下由于其简单、轻量、开销低的特点而被作为一种更优的方式使用,它不会引起线程上下文的切换和调度。同时volatile...

WebRTC 入门(一) —— 基本介绍

基础介绍

WebRTC 入门(一) —— 基本介绍 1. WebRTC介绍 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。两个浏览器之间的通信需要分别和服务器建立信道,然而两个浏览器之间的通信需要通过两段信道,并且受到了信道带宽的影响,这样的信道并不适合数据流的传输如何建立浏览器之间的点对点传输,一直困扰着开发者, 所以WebRTC应运而生。 WebRTC是一个g...

Camera api2 Characteristics 详解(一)

Camera Characteristics 详解

在Camera应用的开发中,我们难免会使用到CameraCharacteristics类的属性。这些属性代表着相机能够支持的功能。这篇文章将官方文档中的相关属性进行解析。 CameraCharacteristics类是android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacter...

一条短信引发的血案——Android病毒分析

一条短信引发的血案

前言:今天一位朋友突然发朋友圈说自己的手机中毒了,群发短信给所有的通讯录朋友,处于好奇,就问朋友发的什么,从事android编程将近三年了,从来没有写过一个有损用户利益的程序,也没有见过真正意义上的android病毒。既然有这个机会,那就好好看看这个病毒究竟厉害在什么地方了。在这里斗胆和大家探讨下,懂编程的朋友顺便探讨学习下。不懂的朋友就了解下病毒特征,防止下次遇到同样的问题。 ...

认识SurfaceView和SurfaceTexture

有听闻说在 Android 7.0 之后SurfaceView 将比 SurfaceTexture 更加低功耗,这也激起了很多应用的换脸热潮,所以今天准备一探究竟。

有听闻说在 Android 7.0 之后SurfaceView 将比 SurfaceTexture 更加低功耗,这也激起了很多应用的换脸热潮,所以今天准备一探究竟。 BTW: 晚上闲来无事,于是乎又给自己挖了一坑,突然发现想把这个坑填满,遥遥无期啊。 SurfaceView surfaceView继承自View,因此它本质上是一个View。但与普通View不同的是,它有自己的Sur...

Java 中的注解

针对java中注解的学习笔记

一直对java中的注解不是很了解,但是随处可见,前些天,一位朋友@徐文志程序猿在博客中写了关于PHP的注解,学习了很多,所以,也尝试着写下java中的注解,并记录在这里,供以后复习,也便于大家共同学习。 在开始之前,我墙裂给大家安利一种学习方式。思维导图,又称脑图,是能够将思维中抽象的逻辑关系转化为直观的关系图标的一种方式,在我们的学习中,可以将知识点通过思维导图梳理出来,非...

Logger开源库刨析

Logger是github上关于Andorid Log打印优化和封装的软件,是一款简洁、优雅、强大的log跟踪器,截止目前已经有4003个star。

最近突发奇想,想自己重新封装android的log机制,以便于在以后的开发中简单的使用log进行调试。我们知道,在大多数的情况下我们需要对log的状态进行配置,在user版本中为了安全,某些关键log不能打印出来,同时,可能在调试的时候,我们只需要打印某个级别的log。通常情况下,我们是在每个类中进行log打印的控制(使用DEBUG的全局变量),每次打印log时都需要进行判断,这样的代...