首页
学习
活动
专区
工具
TVP
发布

Android 进阶

专栏作者
83
文章
83081
阅读量
22
订阅数
Java 代码优化建议
在 Java 核心 API 中,有许多应用 final 的例子,例如 java.lang.String,整个类都是 final 的。为类指定 final 修饰符可以让类不可以被继承,为方法指定 final 修饰符可以让方法不可以被重写。如果指定了一个类为 final,则该类所有的方法都是 final 的。Java 编译器会寻找机会内联所有的 final 方法,内联对于提升 Java 运行效率作用重大,具体可以查阅 Java 运行期优化相关资料,此举能够使性能平均提高 50%。
Yif
2020-04-23
5880
Groovy之数据结构
Java中定义方式:def list = ArrayList()//java 中定义列表方式
Yif
2019-12-26
4720
JNI 数据类型及Java与C++之间互调
JNI,全称Java NativeInterface,是一种为Java编写本地方法和JVM嵌入本地应用程序标准的应用程序接口。
Yif
2019-12-26
2.1K0
NDK 开发环境配置
它可以根据不同平台、不同的编译器,并通过CMakeLists.txt文件中简单的语句来描述所有平台的编译过程,生成相应的Makefile文件或project文件。CMake被引入于AndroidStudio2.2,其目的是替代原有的JNI/DNK开发方法,使AS在进行JNI/NDK时更加的方便、高效。
Yif
2019-12-26
1.8K0
Java 锁分类
乐观锁是一种乐观思想,认为读多写少,遇到并发的可能性低,每次拿数据时候并不会上锁,因为认为不会被别人修改。但是更新的时候会判断有没有人会更新这条数据,采取写的时候先读取版本号然后加锁,主要是和上一次版本号进行比较,如果一样则更新这条数据,如果不一样则会重复读,比较,写操作。它是基于CAS来实现的。
Yif
2019-12-26
7330
Android 开发艺术探索笔记三
常用的缓存策略:LruCache与DiskLruCache,其中LruCache用作内存缓存,而DiskLruCache用作磁盘缓存。
Yif
2019-12-26
5370
Android 混淆打包
Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。
Yif
2019-12-26
1.4K0
重谈Handler的内存泄漏
在多线程操作中,handler会使用的非常多,但是每次使用handler你有没有考虑内存泄漏的问题。
Yif
2019-12-26
1.1K0
Android 内存泄漏
内存泄漏(Memory Leak):是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
Yif
2019-12-26
1.9K0
Activity 基础知识
类加载方案需要重启App后让ClassLoader重新加载新的类,为什么需要重启,因为类是无法卸载的,要想重新加载类就需要重启App,因此采用类加载方案的热修复框架无法及时生效。
Yif
2019-12-26
5060
Android 进阶解密笔记-热修复
内存泄漏(Memory Leak):是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
Yif
2019-12-26
3740
Android 进阶解密笔记-Java 类加载器
Java是通过实现不同平台上的虚拟机,然后即时翻译javac生成的中间代码来做到跨平台的。
Yif
2019-12-26
4880
Android 进阶解密笔记-JNI 基础
译为本地接口,是Java与其他语言通信的桥梁。主要用于音视频开发、热修复和插件化、逆向开发,系统源码调用等
Yif
2019-12-26
5090
Android 线程与消息机制源码分析
messagequeue是用来存储消息的载体,而lopper是无限循环查找这个载体中是否有消息, handler是创建消息并使用lopper来构建消息循环。 handler主要任务是将任务切换到指定线程中执行
Yif
2019-12-26
3730
Binder 进程通信
对应一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间,当然内核空间的大小是可以通过参数配置调整的。对于用户空间,不同进程之间彼此是不能共享的,而内核空间却是可共享的。Client进程向Server进程通信,恰恰是利用进程间可共享的内核内存空间来完成底层通信工作的,Client端与Server端进程往往采用ioctl等方法跟内核空间的驱动进行交互。
Yif
2019-12-26
8040
Kotlin 轻量级Android开发
它由Jetbrains创建,而Jetbrains则是诸多强大的工具(如知名的Java IDE IntelliJ IDEA)背后的公司。Kotlin是一门非常简单的语言,其主要目标之一就是提供强大语言的同时又保持简单且精简的语法。
Yif
2019-12-26
8950
JNI 异常处理
调用了JNI的ExceptionCheck函数检查最近一次JNI调用是否发生了异常,如果有异常这个函数返回JNI_TRUE,否则返回JNI_FALSE
Yif
2019-12-25
9310
Groovy之面向对象
Groovy中的类与Java类似,不同的是它可以通过对象实例化名字直接调用属性值,不需要通过get进行获取值。
Yif
2019-12-25
3170
Android 进阶解密笔记-Android 系统进程
僵尸进程:在Linux中,父进程使用fork创建子进程,子进程终止后,但父进程不知道子进程终止,虽然子进程已经退出,但系统还未它保留一定的信息(比如进程号,退出状态,运行时间),这时候,子进程就被称为僵尸进程。系统资源有限,如果进程被僵尸进程耗尽,那么就无法创建出新的进程。 Android 提供一种属性服务相当于Windows下的注册表管理器记录用户及软件信息,即使系统或软件重启,根据之前的信息,进行一些初始化操作。 在Linux新内核中:epoll用来替换select,它是Linux为处理大量文件而做的改进的poll,是Linux多路复用I/O接口select/poll的增强版。它能够显著的提高程序在大量并发连接中只有少量活跃情况下的系统CPU利用率。epoll内部用于保存事件的数据类型是红黑树,查找速度快,只有O(logn),select采用数组保存信息查找速度慢只有O(n),只有当少量文件描述符值,epoll与select的效率才会差不多。
Yif
2019-12-25
6260
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档