移动开发

9寸安卓车机更换GPS模块

       差不多一个月前,9寸安卓车机的导航功能突然抽风,定位时断时续。经过分析应该是车机自带的联发科MT3332N芯片自身问题导致无法正常定位,就算更换全新的MT3332N芯片也不能解决问题。       为了恢复车机导航功能,我决定自己动手更换新的GPS模块。       新的GPS模块,采用中科微ATGM336H-5N

浅析iOS开发的那些架构:MVC/MVP/MVVM

前言 很早以前就想总结一下,iOS开发中常用的一些架构:MVC、MVP、MVVM;但是一直感觉自己没有理解透彻,因为发现自己理解的和网上其他人的总是有出入;网上的众说纷纭,仁者见仁智者见智; 随着经验的增长,自己对于这些架构的理解每次都有不同的收获,渐渐的可能和最初了解的情况大相径庭; 现在转念一想,架构这些事情并没有绝对的对错,也不会有什么标准答案;每个人都会结合自己的经验加以理解,实践出最符合

关于UITableView和UICollectionView的Cell重用总结

1、cell注册 registerClass:forCellWithReuseIdentifier:  UITableView不需要进行cell注册,而UICollectionView必须进行cell注册 2、cell复用 方法一: dequeueReusableCell:WithIdentifier: 方法二: dequeueReusableCell:WithIdentifier:    f

HPC 编译 FaSTMM

工作需要在 HPC 集群上编译 FaSTMM,踩了一些小坑之后解决了问题。现将主要步骤总结如下: 首先,我测试时集群上的 HDF5 几个版本均不奏效,因此需要自己编译具有 Fortran 支持的 HDF5。这一步比较简单,我写在了另一篇文章里: HPC 编译 HDF5。 FaSTMM 依赖于 LAPACK 和 BLAS,编译脚本需要 CMake,还需要 Fortran 编译器来进行编

Knife4j+Axios+Redis:前后端分离架构下的 API 管理与会话方案

目录 一、Swagger 与 Knife4j 的深度理解及配置要点 Knife4j 配置关键要点 1.Spring MVC 路径匹配策略配置 2. 扫描包与路径分层配置 二、如何前端与后端对接 1.axios是什么? 2.安装方式 新建plugins文件夹,新建myAxios.ts文件。 三、分布式session是花里

APP启动流程源码分析1

启动流程为什么要了解 不了解 ,平时开发好像也没啥问题啊。其实不然,解决这些问题后,你会对Android系统有更深层次的理解,也会学习到系统源码优秀的设计。并且对解决一些高级问题和深入的性能优化问题有很大帮助,是技术进阶的必要阶段。这就需要我们通过阅读源码来梳理这些问题,但另一方面,系统源码是很庞大繁杂的,我们需要带着问题抓住主流程,不能陷入代码细节——这是阅读系统源码以及其他第三方库源码的正确姿

Android流光动效(移动光效)View

效果预览 流光效果.gif 功能说明 支持任意类型视图View上面的流光动效(包括但不限于View、ImageView、TextView、Button或者他们的任意组合的ViewGroup); 支持修改光效宽度; 支持修改光效颜色; 支持修改光效移动速率; 支持设置View动效的圆角; 支持修改光效入射角度(斜率); Screenshot_2022-04-21-11-46

RunLoop最细详解

Runloop的实现机制 RunLoop 通过mach_msg()函数接收、发送消息。它的本质是调用函数 mach_msg_trap(),相当于是一 个系统调用,会触发内核状态切换。在用户态调用时会切换到内核态; 而内核态中内核实现了mach_msg()函数会完成实际的工作。 RunLoop基本作用 保持程序的不断运行 处理App中的各种事件,触摸事件,定时器事件 节省CPU的资源,提高程序

Android Jetpack架构组件(十)— StartUp

一、StartUp简介 应用程序启动库提供了一种在应用程序启动时初始化组件的简单、高效的方法。库开发人员和应用程序开发人员都可以使用StartUp来简化启动序列并显式设置初始化顺序。 StartUp允许您定义共享单个内容提供程序的组件初始化程序,而不是为每个需要初始化的组件定义单独的content provider。这可以显著缩短应用程序启动时间。 简单的说就是通过一个公共的content pro