手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
iOS
Android
Swift
Hybrid
Cocos2d-x
Flutter
Xcode
Silverlight
cocoa
Cordova
编程之家
Android
从47%到80%,携程酒店APP流畅度提升实践
通过Flutter框架提供的通道技术,Native到Flutter的数据传输通道需要对数据做一次额外的序列化及反序列化的传输,同时传输的过程比较耗时,会阻塞UI的渲染主线程,对页面的加载会造成明显的影响。如:填写页业务报错量(可订服务、提交订单、失焦错误数),除了对各类报错率趋势进行监控外,还会综合实际用户流量,区分单项业务报错的流量大小进行预警,且对拆分多维度(单用户、单房型等)触发次数,便于寻找到有特性的badcase,快速定位用户遇到的问题,挖掘更多的业务优化点。主要包括三方面内容:稳、快、质。
作者:码中之牛 时间:2022-12-01
2022年编译加速的8个实用技巧
关于Android编译加速的文章相信大家都看过不少,但常常要么是好几年前写的,目前看来有些过时;要么介绍了一大堆配置,最后一实践发现并没有多大效果;要么就是大厂黑科技,但是没有开源。今天我们就一起来看看,在2022年AGP7.0时代,除了传统的开启,打开并行编译,调整Gradle堆内存大小等常用手段之外,还有哪些可以落地的编译加速实用技巧本文主要介绍了编译加速的8个实用技巧,有的接入起来非常简单,有的则需要一定的适配成本,但都是可以落地的并且有一定效果的编译加速技巧。
作者:码中之牛 时间:2022-12-01
Jetpack Compose : 从改造登录页面开始
Jetpack Compose 是用于构建原生 Android 界面的新工具包。它使用更少的代码、强大的工具和直观的 Kotlin API,可以帮助您简化并加快 Android 界面开发,打造生动而精彩的应用。
作者:码中之牛 时间:2022-12-01
Android 边播放边缓存视频框架——AndroidVideoCache简析
现在的移动应用,视频是一个非常重要的组成部分,好像里面不搞一点视频就不是一个正常的移动App。在视频开发方面,可以分为视频录制和视频播放,视频录制的场景可能还比较少,这方面可以使用Google开源的 grafika。相比于视频录制,视频播放可以选择的方案就要多许多,比如Google的 ExoPlayer,B站的 ijkplayer,以及官方的MediaPlayer。
作者:码中之牛 时间:2022-12-01
性能调优——如何让你的APK瘦身到极致~
随着业务复杂度的逐渐增加,代码、资源也在不断的增加,此时你的APP大小也在增加。从用户层面来说,面对动辄几十兆的APP来说在非WIFI情况下还是会犹豫要不要下载,不下载你就可能因此失去了一个用户。从公司层面来讲,流量就是钱,减少APP的大小就显得尤为重要。从开发者层面上来讲,你掌握了这个手艺也会略显逼格满满。废话不多说了,开始正题。
作者:码中之牛 时间:2022-12-01
Gradle 入门说难也不难,说简单吧也不简单~
在学习过程中最痛苦的事,并不是认为自己坚持不下去学不会,而是对某块知识点的碎片信息学习了很多,仍然无法窥其门径,处于懵懂状态。就拿Gradle来说,我之前就是这种状态,不管怎么去查阅文档和视频,一直有些知识点搞不懂,但是自己起手完成过一个需求后,才发现Gradle 也不是那么难学懂嘛,虽然中间也踩了不少的坑。
作者:码中之牛 时间:2022-12-01
相当走心的 OkHttp 源码解析~
本文是对OkHttp开源库的一个详细解析,如果你觉得自己不够了解OkHttp,想进一步学习一下,相信本文对你会有所帮助。本文包含了详细的请求流程分析、各大拦截器解读以及自己的一点反思总结,文章很长,欢迎大家一起交流讨论。正如使用方法中所述,我们先后构建了对象、Request对象、Call对象,那这些对象都是什么意思,有什么作用呢?这个就需要我们进一步学习了解了。对象作用Call请求调用接口,表示这个请求已经准备好可以执行,也可以被取消,只能执行一次。
作者:码中之牛 时间:2022-12-01
Android 面试题收集:Handler+Binder+Activity+时间分发机制+View绘制流程+……等
一个线程只有一个Looper,一个Messagequeue,可以创建多个handler。实例化 Handler 的时候 Handler 会去检查当前线程的 Looper 是否存在,如果不存在则会报异常,也就是说在创建 Handler 之前一定需要先创建 Looper 。代码如下:主线程创建好了Looper,但是一旦在子线程创建Handler就会报上述错误,解决办法也是描述中的要,那做了什么?的作用就是在子线程创建Looper对象,并且会借助 ThreadLocal 来实现与当前线程的绑定,Looper.
作者:码中之牛 时间:2022-12-01
Android自定义控件进阶——Canvas之图片文字
学会了图片和文字绘制,对于大部分自定义View都能制作了,可以去看看这位大神制作的作品,尝试模仿一下一个绚丽的loading动效分析与实现!
作者:码中之牛 时间:2022-12-01
怎么打造车载语音交互:Google Voice Interaction 给你答案
语音交互并不是一个新事物,很早就有了。比如 Apple 设备的Siri、Amazon 的Alxea、Google 的等等。它们大多是系统的内置服务,由热词唤醒或按键触发,之后只通过语音指令即可完成完整的交互。可这些交互场景往往覆盖了系统服务或系统 App,而对第三方 App 的支持有限或者鲜少针对第三方 App 完成完整的语音交互逻辑。第三方 App 除了被动等待系统语音服务的调度,当然可以选择主动支持。
作者:码中之牛 时间:2022-12-01
UI绘制流程详解(整体启动流程)
在android当中对于UI体系,往往我们会在绘制UI的时候碰到各种各样的问题而不知道从何解决, 也有时需要开发更改自定义组件时,需要做自己的调整,或者是实现某个自定义特效时的思路不明确,想要达到去玩转UI的最为基础的部分,就是去全面的深入了解UI的绘制流程.所以接下来带大家去进行全面分析UI整体的绘制体系。
作者:码中之牛 时间:2022-12-01
高级UI——Paint(Xfermode)
在之前的Paint的使用当中我们提到了高级渲染和滤镜,那么今天我们来学习最后一个内容点Xfermode,我们能通过使用Xfermode能够完成图像组合的效果。
作者:码中之牛 时间:2022-12-01
高级UI——Path测量
在Path在UI体系当中不论是在自定义View还是动画,都占有举足轻重的地位。绘制Path,可以通过Android提供的API,或者是贝塞尔曲线、数学函数、图形组合等等方式,而要获取Path上每一个构成点的坐标,一般需要知道Path的函数方法,例如求解贝塞尔曲线上的点的De Casteljau算法,但对于一般的Path来说,是很难通过简单的函数方法来进行计算的,那么,今天需要了解的就是PathMeasure,关于Path测量的运用。
作者:码中之牛 时间:2022-12-01
Android自定义控件进阶-Canvas之绘制图形
Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础,非常强大。1.可操作性强:由于这些是构成上层的基础,所以可操作性必然十分强大。2.比较难用:各种方法太过基础,想要完美的将这些操作组合起来有一定难度。不过不必担心,本系列文章不仅会介绍到Canvas的操作方法,还会简单介绍一些设计思路和技巧。看了上面这么多,相信有一部分人会产生一个疑问,如果我想绘制一个圆,只要边不要里面的颜色怎么办?很简单,绘制的基本形状由Canvas确定,但绘制出来的。
作者:码中之牛 时间:2022-12-01
UI绘制流程_UI具体绘制测量流程
上一次我们讲到最基本的android运行流程和绘制流程的调用顺序,那么我们最终得到的一个结论是activity的生命周期是有系统服务所触发,由系统服务发起handle调用到handleResumeActivity()开始绘制流程然后最终交由ViewRootImpl调用到performTraversals()然后依次之行了我们UI的实际绘制流程measure(测量),layout(布局摆放),Draw(具体绘制)
作者:码中之牛 时间:2022-12-01
面试官怎么老喜欢问性能优化相关的问题?
像面试中被问到性能优化性优化相关问题是一件常事,根据每个公司的要求不同,问的深浅也就不一样。但在一些大厂中对这块要求是非常的高的,像某宝、某东、某音等这些APP,还有就是正准备推出新APP,只要在性能上出点差错,就决定了他们用户量的流失。所以也性能优化成为 Android开发面试必问。
作者:码中之牛 时间:2022-12-01
Android 面试题:Java中为什么要加这个GC机制?
Java中为什么要加这个GC机制,不GC可以吗?显然是不可以的,GC可以说是保证程序正常运行的必要条件,随着程序的运行,可用内存势必会减少,GC不可避免,同时还需要对内存碎片进行管理。
作者:码中之牛 时间:2022-12-01
Android自定义控件——Path之贝塞尔曲线
可以看到,在经过 Path之基本操作、Path之贝塞尔曲线和 Path之完结篇后, Path中各类方法基本上都讲完了,表格中还没有讲解到到方法就是矩阵变换了,难道本篇终于要讲矩阵了? 非也,矩阵这一部分仍在后面单独讲解,本篇主要讲解 PathMeasure 这个类与 Path 的一些使用技巧。先放一个图镇楼,省的下面无聊的内容把你们都吓跑了Σ( ̄。 ̄ノ)ノ顾名思义,PathMeasure是一个用来测量Path的类,主要有以下方法:PathMeasure的方法也不多,接下来我们就逐一的讲解一下。构造函数有两个
作者:码中之牛 时间:2022-12-01
Android 架构面试一般都问些啥?需要怎么去应对?
你现在客户端的架构是怎么样的?”这是前几天我在脉脉职言平台看到的一道题面试题。什么是架构?架构可以是实际工程中的代码架构(MVC、MVP、MVVM),是一种软件架构模式,是App实现过程中的一种编码模式或者编码规范。也可以是一种应用分层架构(组件化、容器化、平台化)这次我们先来聊聊“”!带着上述面试中经常被问的问题,我们来走进组件化。
作者:码中之牛 时间:2022-12-01
Android 性能优化方法论【总结篇】
作为一位多年长期做性能优化的开发者,在这篇文章中对性能优化的方法论做一些总结,以供大家借鉴。
作者:码中之牛 时间:2022-12-01
什么“优化、毕业、输送人才“,技术提升才是硬核~
互联网寒冬开始吹响了外企,像,继马斯克收购完推特“,硅谷也传来了的新闻。这还只是一个“开胃菜”,外企不少的互联网公司都开始“”,直接进入到了“”,苹果就开始破天荒的冻结了招聘,预计持续到明年的9月份,高通和亚马逊紧随其后,而Facebook母公司Mate更狠,直接打算裁猿。而相比国内互联网大厂用的词就稍稍的温柔一些,T讯用“”员工数量和薪酬,JD和币站则提出了“毕业”的概念,生动的演绎了什么叫,还有阿里的“”。而这场“全球互联网寒冬”之所以会来得这么猛,也是因为巨头们快走到天花板了。
作者:码中之牛 时间:2022-12-01
Android组件化开发,也不过如此~
只需要改动下面的两个参数即可,isModuleDebug参数,true就是开启单组件运行模式,moduleName就是你要运行的那个Module名字,之所以定义两个参数,是为了精准到位,组件之间清晰,方便部分组件之间依赖。//是否允许module单独调试moduleName = ""//单独调试module名比如其他组件下这样,不管是依赖,还是版本号,以后统一的在一个文件里进行增加和改变,杜绝私自添加三方依赖,便于审阅。
作者:码中之牛 时间:2022-12-01
换个姿势去看Binder 原理,原来如此……
Binder机制可谓是Android 知识体系里的重中之重,作为偏底层的基础组件,平时我们很少关注它,而它却是无处不在,也是Android 面试易考察的点之一。网上很多文章,要么知识点比较陈旧,要么源码贴一堆,要么没有成体系地分析,导致读者一知半解,似是而非。本篇将从流程上将Binder通信过一遍,尽量多用图展示。
作者:码中之牛 时间:2022-12-01
UI绘制流程_UI具体绘制布局流程
前面我们已经讲了布局的测量,现在我们来看一下,她是怎么完成布局的那么其实我门只要清楚了当前的绘制流程和布局流程,我门需要开发自己自定义的布局其实实际上就只需要添加我门自己的业务代码,不管是FreamLayout,还是LinearLayout等官方提供出来的布局组件, 都是依照这套机制来玩的, 只不过是添加了她们的业务,实现了相对应的效果。所以,至此,绘制流程ok!
作者:码中之牛 时间:2022-12-01
Android APP全局黑白化实现方案
最后咱们再总结一下黑白化方案。使用了ColorMatrix设置饱和度为0,设置到Paint中,让根布局拿着这个Paint去进行重绘。这样APP全局黑白化的介绍就结束了,希望大家读完这篇文章,会对APP黑白化有一个更深入的了解。如果我的文章能给大家带来一点点的福利,那在下就足够开心了。
作者:码中之牛 时间:2022-12-01
Android Flutter 指南开发学习指南~
Widget 并非完全对应于 Android 中的 View,但是在你熟悉 Flutter 的工作原理的过程中可以把它们看做“声明和构建 UI 的方式”。这也就意味着,如果我们在学习 Flutter 时,能够深入进去搞懂它的原理、设计思路和通用理念,并与过往的开发经验相结合,建立起属于自己的知识体系抽象层次,而不是仅停留在应用层 API 的使用上,就摆脱了经验与平台的强绑定。各大中小公司对于新业务,尤其是在团队人力紧缺的情况下,在技术选型上使用 Flutter,能加快产品在多端落地、快速迭代、快速试错。
作者:码中之牛 时间:2022-12-01
你理解的 ANR 监控可能一直是错的……
主要说了几种主流的卡顿监控方式:通过开一个子线程不断去轮询主线程。原理就是不断向主线程发送Message,每隔一段时间检查一次刚刚发送的消息是否被处理,如果没被处理,说明这段时间主线程被卡住了。通过使用系统方法 setMessageLogging 替换掉主线程 Looper 的 Printer 对象,通过计算 Printer 打印日志的时间差,来拿到系统 dispatchMessage 方法的执行时间。通过 Choreographer 类的 FrameCallback 函数。
作者:码中之牛 时间:2022-12-01
Android 面试必问之性能优化~
如果你已经有 2 - 3 年以上开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了,下面是我自己总结的一套通用级别的 Android 性能优化。程序员:有做过。比如重复绘制,还有大图长图有过优化。面试官:那具体说一说程序员:最后也是结合真实场景具体说一个。其实性能优化点都是息息相关的,比如卡顿会涉及内存、显示,启动也会涉及 APK dex 的影响。所以说性能优化不仅仅是单方面的优化,一定要掌握最基本的优化方案,才能更加深入探讨性能原理问题。
作者:码中之牛 时间:2022-12-01
Android自定义控件进阶——Path之基本操作
本想一篇把path写完,但是万万没想到居然扯了这么多。本篇中讲解的是直线部分和一些常用方法,下一篇将着重讲解贝塞尔曲线和自相交图形渲染等相关问题,敬请期待哦。这个精小干练,非常适合新手练习使用,帮助大家更好的熟悉path的使用。
作者:码中之牛 时间:2022-12-01
高级UI-Canvas(变换技巧,状态保存)
在前面我们把Paint关于UI颜色样式的处理进行了学习, 其实真正高级部分就是三个点,渲染,滤镜,图形组合,而我们图形绘制比较重要的另一个对象Canvas也是需要我们去重点掌握的,那么这次课咱们来进行Canvas的深层次的学习,主要了解有两个点:1.Canvas的变换使用技巧;2.Canvas的状态,Canvas LayerCanvas里面牵扯两种坐标系:Canvas自己的坐标系、绘图坐标系Canvas的坐标系。
作者:码中之牛 时间:2022-12-01
上一页
5
6
7
8
9
10
11
12
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native