Android
文章平均质量分 93
Android
Fighting_初心
种一棵树最好的时间是十年前,其次是现在。
展开
-
Android疑难杂症——因内联优化导致9.0机型Native Crash
对于Java程序来说,除了开发者本身对代码优化之外,还有一个“人”也在背后默默的优化我们的代码,这个"人"就是JVM。JVM会帮我们分析出热点代码,优化代码逻辑。其中JVM最常做的优化之一就是:方法内联优化。 什么是方法内联?又可以叫做函数内联,Java中方法可等同于其它语言中的函数。关于方法内联维基百科上面解释是:...原创 2021-06-20 21:52:38 · 2024 阅读 · 5 评论 -
Android APP安全策略
在移动互联网时代,APP破解已经成为产业链。APP主要有3大威胁,盗版、数据篡改和山寨。盗版是以反编译为前提通过修改某些资源文件或者是代码文件,之后重新打包二次分发。数据篡改是通过人为地使用某些专业工具来修改正版APP内存中的数据,比如把一个收费的APP变成一个免费的APP。山寨主要是通过相似度来混淆用户。Android系统由于其开源的属性,市场上针对开源代码定制的ROM参差不齐,在系统层面的安全防范和易损性都不一样,Android应用市场对app的审核相对iOS来说也比较宽泛,为很多漏洞提...原创 2021-01-24 12:09:28 · 1293 阅读 · 0 评论 -
Android UI卡顿优化
一、Android渲染机制(一)两个重要概念 屏幕刷新率:1秒内屏幕刷新次数,取决于硬件性能参数。 帧率:CPU、GPU在1秒内绘制的帧数。(二)为什么是60fps? 目前移动设备上一般使用60HZ的屏幕刷新率,系统为了配合60HZ的刷新频率,把帧率也定为60fps,所以Android的渲染机制是16.67ms绘制一次。 两者最好保持一致,如果屏幕刷新率是 75 hz,帧率是 60 fps,每秒软件渲染60次,你刷新 75 次,...原创 2021-01-23 16:32:01 · 724 阅读 · 3 评论 -
Android ANR详解
一、什么是ANR? ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或者Force Close。 那么哪些场景会造成ANR呢?Service Timeout:前台服务在20s内未执行完成; BroadcastQueue Timeo...原创 2021-01-23 11:33:06 · 13532 阅读 · 0 评论 -
Android可视化界面布局开发技巧 —— ConstraintLayout使用解析
在2016年Google I/O大会上,Google官方对于全球Android开发者强力推荐使用一种新的布局ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一,并不是什么新的内容。只不过新版的IDE增强了对于ConstraintLayout的支持。ConstraintLayout最大的特点是支持可视化的方...原创 2020-02-01 17:50:39 · 6934 阅读 · 0 评论 -
深入理解Android之动画
Android 里动画从用途上讲,可以分为三类View Animation(View动画)又称 Tween Animation(补间动画)、DrawableAnimation(帧动画)和 Property Animation(属性动画)。 这篇文章,我就介绍一下这三种类型的动画。 目录:(一)View动画(二)帧动画(三)属性动画(一)View...原创 2020-01-26 09:19:21 · 476 阅读 · 0 评论 -
深入理解Android之自定义View
自定义View、多线程、网络,被认为是Android开发者必须牢固掌握的最基础的三大基本功。而自定义View又是Android开发中特别重要的一环,很多地方都需要用到自定义View。这篇文章我就梳理一下自定义View的相关知识。目录(一)什么是自定义View (二)自定义组合View(三)自定义View的绘制1. Canvas.drawXXX()Pa...原创 2020-01-24 17:35:55 · 8247 阅读 · 0 评论 -
Android打包新技能——Android App Bundle探索
Android App Bundle是一种改进的应用程序打包方式,能大幅度减少应用体积。简而言之,可以理解Google 官方的动态发布方案。按照Google官方的说法:Android App Bundle 是一种全新的上传格式,其中包含您应用的所有编译好的代码和资源,但 APK 生成及签名工作则交给 Google Play 来处理。它使用全新的应用发布格式(aab)和Googl...原创 2020-01-21 21:43:50 · 8411 阅读 · 0 评论 -
Android屏幕、多分辨率适配
Android机型的多样性使得我们做一款APP时不得不得考虑平板、手机适配以及多分辨率的适配的问题。对于这个问题的关键是理解res/layout-sw600dp、res/layout-sw720dp ,在此我做一个总结:由于平板和手机尺寸以及分辨率的不同,我们需要分别为之设置加载不同layout,启动APP后手机会自动判断应该分配给哪个layout。 600dp的含义是:代表这个设备的最短的那一边...原创 2018-03-10 08:46:21 · 281 阅读 · 0 评论 -
AndroidX详细介绍
对于Google早期的Android设计者来说,不可能刚开始就将它的API考虑的非常周全。随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。 于是Android团队推出了一个鼎鼎大名的Android Support Library,用于提供向下兼容的功能。比如我们...原创 2020-01-07 11:43:49 · 930 阅读 · 0 评论 -
Android多语言切换
非洲女经济学家丹比萨·莫约(DambisaMoyo)曾说:种一棵树最好的时间是十年前,其次是现在。曾几何时,自己一度非常想通过写博客的方式来记录自己学习技术的历程,从而进行知识沉淀。然而,太多次自己都以“没有时间”搪塞了过去。看着最近的一次更新博客的时间还是大三在学校时,顿时觉得“无地自容”。希望从这篇博客起,自己能够养成习惯,坚持下去。努力不是为了超越别人,而是成为更好的自己!...原创 2019-11-30 12:56:35 · 894 阅读 · 0 评论 -
Android MVC,MVP和MVVM
在Android开发中,常采用 MVC(Model-View-Controller)、MVP(Model-View-Presenter) 、MVVM(Model-View-ViewModel)框架模式 在 MVC 框架中,请求流程如下:View接受用户的请求View传递请求给ControllerController操作Model进行数据更新Model通知View变化View根据更新的数据做出...原创 2018-03-10 08:53:54 · 173 阅读 · 0 评论