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

Android 进阶

专栏作者
83
文章
82161
阅读量
22
订阅数
网络优化
如何进行数据缓存,我们可以在返回上加上过期时间,避免重新获取。这种做法节约了流量,且大幅提高数据访问的速度,增强了用户体验。在OKHTTP与Volley等一些网络框架中都有很好的实践。 下面进行OKHTTP,在无网络的情况下使用cache进行缓存
Yif
2020-04-26
1K0
系统相关服务
这次我们来聊一聊系统相关服务,比如Zygote启动原理,SystemServer启动原理,如何进行添加一个系统服务等。
Yif
2020-04-25
7700
UI 刷新
与屏幕刷新相关的有很多,比如刷新流程,屏幕缓存,周期刷新,vsync信号,SurfaceFlinger。
Yif
2020-04-25
2K0
进程通信
这次我们来聊一聊系统相关服务,比如Zygote启动原理,SystemServer启动原理,如何进行添加一个系统服务等。
Yif
2020-04-25
6910
Context与Application 理解
它是应用环境的全局接口,一个抽象类,它的实现是由Android系统提供,是一个系统资源类,启动Activity,发送广播 其中Application、activity与service中有context,广播与contentProvider没有context 那application中的Context创建流程是怎么样的,下面就来谈一谈创建流程 application的context创建:与application一起初始化,通过Zygote调用fork出一个进程,然后执行一个入口函数activitythread的main函数,向ams报告启动好了,让应用创建application,内部调用handleBindApplication先创建application对象,再执行application的onCreate回调,创建application,是由newApplication内部调用ClassLoader加载类,调用clazz.newInstance,调用attach传入上下文对象
Yif
2020-04-24
1.5K0
Java 代码优化建议
在 Java 核心 API 中,有许多应用 final 的例子,例如 java.lang.String,整个类都是 final 的。为类指定 final 修饰符可以让类不可以被继承,为方法指定 final 修饰符可以让方法不可以被重写。如果指定了一个类为 final,则该类所有的方法都是 final 的。Java 编译器会寻找机会内联所有的 final 方法,内联对于提升 Java 运行效率作用重大,具体可以查阅 Java 运行期优化相关资料,此举能够使性能平均提高 50%。
Yif
2020-04-23
5790
Bitmap 详解
Bitmap在Android中指的是一张图片,可以是png,也可以是jpg等其他图片格式。
Yif
2020-04-23
2K0
APK 瘦身优化
官网:https://ibotpeaches.github.io/ApkTool apktool d students.apk
Yif
2020-04-23
1.3K0
App 启动优化
adb shell start am -W packname/首屏activity
Yif
2020-04-23
1.3K0
绘制优化
过度绘制(Overdraw)描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次重叠的 UI 结构里面,如果不可见的 UI 也在做绘制的操作,会导致某些像素区域被绘制了多次,同时也会浪费大量的 CPU 以及 GPU 资源。 在 Android 手机的开发者选项中,有一个『调试 GPU 过度绘制』的选项,该选项开启之后,手机显示如下,显示出来的蓝色、绿色的色块就是过度绘制信息。
Yif
2020-04-23
8560
线程优化
Process中定义,值越小,优先级越高,默认是THREAD_PRIORITY_DEFAULT 0
Yif
2020-04-23
1K0
卡顿优化
帮助开发者检查代码不规范问题 严苛模式:Android 提供的一种运行检查机制 方便强大,容易被忽视,包含线程策略与虚拟机检测策略
Yif
2020-04-23
1.7K0
列表、存储以及WebView 相关优化
不要在你的getView()中写过多的逻辑代码,我们能够将这些代码放在别的地方。比如:
Yif
2020-04-23
6190
Activity 的 Window 创建过程
Activity Window创建最终在ActivityThread 中的performLaunchActivity方法中,调用Activity的attach方法创建。
Yif
2019-12-26
6600
Dialog 的 Window 创建过程
首先在Dialog 的构造方法中创建Window实例final Window w = new PhoneWindow(mContext);
Yif
2019-12-26
7760
Toast 的 Window 创建过程
两种IPC进程方式,分别是NotificationManagerService与NotificationManagerService回调内部的TN接口实现。 它可以自定义view,也可以使用默认的view,默认的就是mNextView。当前view的显示与取消都是一次跨进程通信。也就是show与hide方法。
Yif
2019-12-26
4540
Window 机制源码分析
Window 是一个抽象的基类,表示一个窗口,包含一个View tree和layout参数。
Yif
2019-12-26
5570
Groovy之数据结构
Java中定义方式:def list = ArrayList()//java 中定义列表方式
Yif
2019-12-26
4640
Groovy 基本类型与闭包
在根工程下自定义config.gradle可以直接在根project引用apply from:'config.gradle' 如果需要在app project中引用,需要加rootProject,表明当前gradle路径在根工程下,apply from: this.rootProject.file('releaseinfo.gradle')
Yif
2019-12-26
5760
Groovy高级用法
在根工程下自定义config.gradle可以直接在根project引用apply from:'config.gradle' 如果需要在app project中引用,需要加rootProject,表明当前gradle路径在根工程下,apply from: this.rootProject.file('releaseinfo.gradle')
Yif
2019-12-26
8670
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档