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

Android 进阶

专栏成员
83
文章
86259
阅读量
23
订阅数
Java 代码优化建议
在 Java 核心 API 中,有许多应用 final 的例子,例如 java.lang.String,整个类都是 final 的。为类指定 final 修饰符可以让类不可以被继承,为方法指定 final 修饰符可以让方法不可以被重写。如果指定了一个类为 final,则该类所有的方法都是 final 的。Java 编译器会寻找机会内联所有的 final 方法,内联对于提升 Java 运行效率作用重大,具体可以查阅 Java 运行期优化相关资料,此举能够使性能平均提高 50%。
Yif
2020-04-23
6050
Bitmap 详解
Bitmap在Android中指的是一张图片,可以是png,也可以是jpg等其他图片格式。
Yif
2020-04-23
2.1K0
绘制优化
过度绘制(Overdraw)描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次重叠的 UI 结构里面,如果不可见的 UI 也在做绘制的操作,会导致某些像素区域被绘制了多次,同时也会浪费大量的 CPU 以及 GPU 资源。 在 Android 手机的开发者选项中,有一个『调试 GPU 过度绘制』的选项,该选项开启之后,手机显示如下,显示出来的蓝色、绿色的色块就是过度绘制信息。
Yif
2020-04-23
8900
Groovy之数据结构
Java中定义方式:def list = ArrayList()//java 中定义列表方式
Yif
2019-12-26
5110
常见的五种排序算法
冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。
Yif
2019-12-26
5040
数组与链表
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
Yif
2019-12-26
5930
时间复杂度
时间复杂度的定义是:如果一个问题的规模是n,解决这一问题所需算法所需要的时间是n的一个函数T(n),则T(n)称为这一算法的时间复杂度。
Yif
2019-12-26
6880
栈与队列
当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,就可以选择栈这种数据结构。 用数组实现的栈称为顺序栈,用链表实现的栈称为链表栈 不管是顺序栈还是链式栈,存储数据只需要一个大小为 n 的数组就够了。在入栈和出栈过程中,只需要一两个临时变量存储空间,所以空间复杂度是 O(1)。并且入栈还是出栈只会涉及个别数据操作,空间复杂度也为O(1)
Yif
2019-12-26
3390
Android 各版本特性
5.0中使用了recyclerview代替了listview,它具有高度解耦,可以自定义样式,提供ItemAnimator,ItemDecoration,LayoutLinearLayout实现丰富多样的效果,但也有缺点,比如需要自定义列表分割线,列表点击事件也需要自己实现,列表分隔线通过继承recyclerview的ItemDecoration方法
Yif
2019-12-26
1.4K0
JNI 数据类型及Java与C++之间互调
JNI,全称Java NativeInterface,是一种为Java编写本地方法和JVM嵌入本地应用程序标准的应用程序接口。
Yif
2019-12-26
2.2K0
Java 锁分类
乐观锁是一种乐观思想,认为读多写少,遇到并发的可能性低,每次拿数据时候并不会上锁,因为认为不会被别人修改。但是更新的时候会判断有没有人会更新这条数据,采取写的时候先读取版本号然后加锁,主要是和上一次版本号进行比较,如果一样则更新这条数据,如果不一样则会重复读,比较,写操作。它是基于CAS来实现的。
Yif
2019-12-26
7530
Android 开发艺术探索笔记三
常用的缓存策略:LruCache与DiskLruCache,其中LruCache用作内存缓存,而DiskLruCache用作磁盘缓存。
Yif
2019-12-26
5520
View 事件分发
setEnabled设置为true,相当于激活事件,对触摸产生反应,而设置成false。
Yif
2019-12-26
6230
Android 安全
MD5长度默认是128bit,这样表达不好,所以将二级制转换成16进制,4bit代表一个16进制,所有128/4=32 ,所以为32位16进制。 MD5 16位与32位区别是将32位后面的16位去掉,得到的16位
Yif
2019-12-26
1.1K0
Android 混淆打包
Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。
Yif
2019-12-26
1.4K0
Activity 基础知识
类加载方案需要重启App后让ClassLoader重新加载新的类,为什么需要重启,因为类是无法卸载的,要想重新加载类就需要重启App,因此采用类加载方案的热修复框架无法及时生效。
Yif
2019-12-26
5350
Flutter 简介
Flutter是Google开发的一套全新的跨平台、开源UI框架,支持iOS、Android系统开发,
Yif
2019-12-26
1.1K0
进程死锁
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,
Yif
2019-12-26
7910
Hashtable、HashMap、TreeMap 分析
Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。
Yif
2019-12-26
7200
select/poll/epoll 对比分析
select函数监控3类文件描述符,调用select函数后会阻塞,直到描述符fd准备就绪(有数据可读、可写、异常)或者超时,函数便返回。 当select函数返回后,可通过遍历描述符集合,找到就绪的描述符。
Yif
2019-12-26
1.1K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档