编程语言起源与机器,是对机器的抽象,又是大脑的延伸,也是表达的媒体;因此,它的发展从对机器的简单抽象,发到到现在越来越远离机器,接近人类的表达;面向对象程序设计(OOP:ob...

编程语言起源与机器,是对机器的抽象,又是大脑的延伸,也是表达的媒体;因此,它的发展从对机器的简单抽象,发到到现在越来越远离机器,接近人类的表达;面向对象程序设计(OOP:ob...
更新软件源,安装需要版本 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/[https://mirrors.tuna.tsi...
基础概念 ASR(Automatic Speech Recognition):语音识别,声音到文字NLU(Natural Language Understanding):自然...
了解Android进程间通信,首先要了解如下几个内容: 对象序列化通过Serializable或者Parcelable进行对象的序列化。Serializable是java中的...
Android touch事件的分发分为几个层次: 驱动层传递至framework的InputManagerService WMS通过ViewRootImpl传递至目标窗口 ...
versionCode以及VersionName用来对应用做版本控制 versionCode 一个正整数,用作内部版本号。此数字仅用于确定某个版本是否比另一个版本更新:数字越...
java源码经过编译,生成class字节码文件,JVM加载class文件执行。字节码文件将java语言与JVM解耦,除java语言外Groovy、JRuby、Jython、S...
java依靠内存垃圾回收(GC),不需要手动释放对象。通过可达性分析判定垃圾,根据对象生命周期的不同使用不同的策略进行回收。 可达性分析 分析以GVRoot对象为起点的引用链...
java文件编译生成class文件,通过class loader加载到内存中,jvm内存区域可分为方法区、堆区、虚拟机栈、本地方法栈、程序计数器,不同的区域有各自的作用,这些...
前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部...
Instrumentation介绍 Instrumentation是个什么东西? Instrumentation测试 Instrumentation原理介绍 一、Instru...
基础语法 变量 Kotlin使用关键字val(value) 以及var(variable)进行变量声明;一个变量除非明确允许被修改,否则应该使用val进行声明,这也是为了解决...
1. 统一SDK版本管理配置2. build.gradle 使用each循环引入第三方框架3. build.gradle中buildConfigField使用4. 优化res...
Binder简析 直观来说,Binder 是 Android 中的一个类,是继承了 IBinder 接口;从 IPC 角度考虑 Binder 是进程间通信的一种方式;从 Fr...
什么是gradle gradle:根据场景理解为一种构建工具或者一种DSL(Domain Special Language),为了解决构建的痛点而生,使用groovy语言来描...
最近出于工作需要,要将一个模块由gradle编译改为mk方式加入源码编译。遇到了一些问题,在这里记录一下。主要有以下几个问题: 项目中一些三方jar包的引用 AIDL 文件的...
SEAndroid是在Android系统中基于SELinux推出的强制访问控制模型,来完善自主访问模型中只要取得root权限就可以为所欲为的情况。 SEAndroid工作大致...