
Android
文章平均质量分 92
Jaydenx
这个作者很懒,什么都没留下…
展开
-
(2020.04.29)Android启动速度优化探讨与总结
(转载公司内部论坛本人文章2020.04.29)导语: 大家作为普通用户,使用App时或多或少有这样的感觉,如果一款App启动时间比较慢,就会给人感觉这个App很卡,很占用资源,会影响用户再次打开App的欲望,严重的话,甚至会卸载App。所以优化App的冷启动速度是十分有必要的。一、App冷启动过程App的冷启动过程可以理解为就是Activity的启动过程,只不过启动时,系统检测到启动的Activity的进程不存在会先创建该进程。详细过程如下图:冷启动时间定义:对于普通用户,能感受到的App启动时原创 2021-07-15 13:41:34 · 785 阅读 · 0 评论 -
(2020.7.6)Android Xposed防护总结
(转载公司内部论坛本人文章2020.7.6)xposed原理Android系统中,Zygote进程在启动的过程中,会创建一个Dalvik虚拟机实例,同时将Java运行时库加载到进程中来,以及注册一些Android核心类的JNI方法到Dalvik虚拟机实例中去。而我们知道,系统其它所有进程都是由Zygote进程孵化的。Zygote在启动新的app进程时,都会将自身的Dalvik虚拟机实例复制到该App进程里,形成该App独立的Dalvik虚拟机实例,同时还会与Zygote进程一起共享Java运行时库。所原创 2021-07-15 13:36:06 · 1346 阅读 · 0 评论 -
(2020.6.15)Android异步方式与线程池的探讨
(转载公司内部论坛本人文章2020.6.15)导语: Android开发中,我们为了提高性能,往往会把一些耗时的操作放在异步线程中执行,比如文件读写和网络请求。Android开启异步线程的方式多种多样,我们该如何选择异步方式,又该如何合理使用线程池呢?之前项目中,开启异步线程的方式没有统一,存在new Thread和new Handler多种方式。这种混乱的异步方式不利于线程管理,频繁创建和销毁线程也带来了一定的性能损耗。为此,我在为项目添加线程池的过程过程中,对Android的异步方式和线程池做了一些原创 2021-07-15 13:30:35 · 252 阅读 · 0 评论 -
(2019.5.29)关于drawable你可能不知道的一些事
(转载公司内部论坛本人文章2019.5.29)导读: Android项目中,官方建议将不同分辨率的资源图片分别放在drawable-mdpi,drawable-hdpi,drawable-xhdpi等不同的drawable文件夹下,以便不同分辨率的手机加载不同的图片资源,从而实现不同手机上图片显示大小一致。那么,不同的手机是根据什么来决定加载哪个drawable文件夹下的资源图片呢?加载不同drawable文件夹下的图片对图片宽高和内存会有影响吗?假设手机对应的drawable文件夹下没有该图片资源,又该原创 2021-07-15 13:26:56 · 572 阅读 · 0 评论 -
(2019.6.24)Android巧用点九图实现复杂布局
(转载公司内部论坛本人文章2019.6.24)问题一开发过程中经常会遇到过这样的问题,设计师切了一张下面带阴影效果的Button背景图(图1),如果直接拿来设置background,属性用android:gravity="center",你会发现文案会在背景偏下方的位置(图2)。因为Android并不知道这张背景图下方是有阴影的,所以整张图的center自然不是我们想要的的center。当然这个也不是什么大问题,你完全可以用属性android:padding来调整文案的位置,让它居中。问题二再看原创 2021-07-15 13:16:52 · 355 阅读 · 0 评论 -
(2019.12.06)Java注解简单实践教程
(转载公司内部论坛本人文章2019.12.06)Java的注解之前使用注解比较少,特此去了解了一下,并用注解对JsBridge代码重构了一下。重构后跳转Activity传参的方式如下:改造前:改造后:其中 @JsParameter(“xxx”) 里面参数和json的key对应,然后BaseActivity里做了给加注解的成员变量自动赋值逻辑。可以看到,加了注解后,逻辑更加清晰了。之前那种方式,如果开发一不留意改了变量的命名,就会造成JsBridge跳转失败,加了注解后,可以规避这个问题。Bas原创 2021-07-15 13:09:12 · 182 阅读 · 0 评论 -
(2019.12.3)AsyncTask源码分析
(转载公司内部论坛本人文章2019.12.3)项目中之前对页面数据做本地缓存,读写缓存时是用了AsyncTask做了异步操作: public void getCache(String key, final Class<Rsp> type, final OnCacheListener<Rsp> onCacheListener) { if (!TextUtils.isEmpty(key)) { new AsyncTask<Strin原创 2021-07-15 13:03:06 · 199 阅读 · 0 评论 -
(2018.11.08)Android Profiler基础使用
(转载公司内部论坛本人文章2018.11.08)一、概览导语 : 2017年Google I/O大会上发布了Android Studio 3.0,其中一项更新是将之前内置的Android Monitor换成了Android Profiler。最新版Android Studio3.2已经移除了DDMS的入口了,感觉Google是想用Android Profiler完全取代DDMS。在Google官网有几篇文章介绍了Android Profiler使用方法,这里我只是做了一下搬运工,结合自己的Demo原创 2021-07-15 11:20:01 · 1315 阅读 · 0 评论 -
关于AsyncTask的Executor的一些研究
AysncTask的基本使用和Executor介绍原创 2017-09-26 12:08:06 · 818 阅读 · 0 评论 -
分析Handler异步消息机制关键步骤
Handler关键步骤原创 2017-09-07 09:44:09 · 325 阅读 · 0 评论 -
TraceView的使用
TraceView的使用原创 2017-09-07 09:42:52 · 392 阅读 · 0 评论 -
Android常用自定义形状方式
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android= "http://schemas.android.com/apk/res/android" android:shape="oval"> <!-- shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)-原创 2017-09-06 18:00:05 · 966 阅读 · 1 评论 -
Bitmap占用内存计算
一张图片(BitMap)占用的内存 = 图片长度 x 图片宽度 x 单位像素占用的字节数原创 2017-09-07 09:31:52 · 675 阅读 · 0 评论 -
SurfaceView入门和一个简单例子
SurfaceView入门原创 2017-09-07 09:35:04 · 609 阅读 · 0 评论 -
Handler内存泄漏分析
非静态内部类默认持有外部类的引用造成内存泄漏原创 2017-09-07 09:37:39 · 297 阅读 · 0 评论 -
Android动画的几种实现方式总结
动画实现方式总结原创 2017-09-07 09:38:38 · 450 阅读 · 0 评论 -
Android开发也需要了解的TCP\IP和Http知识
TCP\IP、Http常识原创 2017-09-07 09:40:05 · 542 阅读 · 0 评论 -
build.gradle配置说明
build.gradle原创 2017-09-07 09:40:56 · 493 阅读 · 0 评论 -
图片最大纹理高度
每个手机能显示的最大图片高度是有限的,超过则无法正常显示。原创 2017-09-07 09:41:50 · 1886 阅读 · 0 评论 -
使用NumberPicker遇到的一个坑
使用NumberPicker遇到的一个坑根据需求,要实现NumberPicker的items动态数量、内容动态变化。所以需要执行以下代码:mNumberPicker.setMaxValue(maxValue);mNumberPicker.setDisplayedValues(displayedValues);这里要需要注意的是setMaxValue。如果mNumberPicker对象原本的disp原创 2017-09-06 17:50:50 · 2638 阅读 · 1 评论