随笔博文

  • canvas变换

    概述要运用好canvas绘图,不仅需要使用前面说到的canvas的基本绘制,也必须使用好canvas的变换。Canvas的变换有 平移(translate),旋转(rotate),缩放(scale),错切(skew),裁剪(clip),保存(save),保存图层(saveLayer),恢复(restore),恢复到指定状态(restoreToCount)等。以上的变换操作与屏幕的显示有一定关系,首

    2022-12-13 michael007js 106

  • 车载Android应用开发入门指南

    1. 前言 - 移动互联网退潮下的汽车大战将时间回退到2017年我大学刚毕业时,彼时移动互联网就已经开始退潮,各大个培训机构也纷纷停止了Android相关的培训,曾经热火朝天的应用开发从那时起,就开始走向下坡路,小程序以及众多跨平台框架也让市场对Android原生开发的需求逐年降低,市场需求的降低也造就了Android开发的面试变得史无前例的“卷”。终于我在2019年选择离开了互联网,投身当时还不

    2022-12-13 michael007js 133

  • 每次调试打印日志都很头痛

    引子当代码的运行效果不符合预期时就得进行调试,排查下整个数据链路上到底是哪个环节出了问题。断点调试当然是首选,因为它可以单步执行程序,并查看当前执行步骤中所有的数据值。但有些场景下,断点调试就显得笨拙。比如大量异步并发的场景,当程序不是线性执行而是跳来跳去时,就会发生你期望下一步是执行到这里,断点调试却跳到了另一个线程,这样的复杂度,让正在执行的代码变得难以理解。除此之外,有些型号的手机,一断点调

    2022-12-13 michael007js 56

  • 全网最优雅安卓列表项可见性检测

    引子业务开发中列表项的曝光埋点做得越来越精细了。一开始,我是在 onBindView() 中上报列表项曝光的:// RecyclerView.Adapter.ktoverride fun onBindViewHolder(holder: ViewHolder, position: Int, payloads: MutableList<Any>) { ReportUtil.repo

    2022-12-13 michael007js 53

  • 全网最优雅安卓控件可见性检测

    引子view.setOnClickListener { // 当控件被点击时触发的逻辑 }正是因为 View 对控件点击采用了策略模式,才使得监听任何控件的点击事件变得易如反掌。我有一个愿望。。。如果 View 能有一个可见性监听该多好啊!view.setOnVisibilityChangeListener { isVisible: Boolean -> }系统并未提供这个方法。。。但业

    2022-12-13 michael007js 116

  • synchronized实现原理

    synchronized作为java语言中的并发关键词,其在代码中出现的频率相当高频,大多数开发者在涉及到并发场景时,一般都会下意识得选取synchronized。synchronized在代码中主要有三类用法,根据其用法不同,所获取的锁对象也不同,如下所示:修饰代码块:这种用法通常叫做同步代码块,获取的锁对象是在synchronized中显式指定的修饰实例方法:这种用法通常叫做同步方法,获取的锁

    2022-12-13 michael007js 42

  • Jetpack之—WorkManger

    简介Jetpack的文档库里面是这样介绍的:使用WorkManager API可以轻松地调度那些必须可靠运行的可延期异步任务。通过这些 API,您可以创建任务并提交给WorkManager,以便在满足工作约束条件时运行。WorkManger是Android Jetpack里面的一个重量级组件,它是一个提供异步执行任务的管理框架,会根据系统的版本和应用的状态来选择执行任务的时机。当应用在运行的时候会

    2022-12-12 michael007js 150

  • Jetpack之—App Startup

    App Startup库是什么官方的定义App Startup库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用App Startup来简化启动顺序并明确设置初始化顺序。App Startup库允许您定义共享单个内容提供程序的组件初始化程序,而不是为您需要初始化的每个组件定义单独的内容提供程序。这可以显着改善应用程序启动时间。为什么App Startu

    2022-12-12 michael007js 91

首页
关于博主
我的博客
搜索