移动开发

APP启动流程源码分析1

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

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

iOS 开发随笔 (Xcode 13 + iOS 15兼容)

URL Scheme     通过 Xcode13 运行的APP,在 iOS15 系统上会限制 info.plist 的 scheme 白名单个数为 50 个 UITableView sectionHeaderTopPadding     使用 UITableViewStylePlain 初始化 UITableView 的时候,会发现 section header 多出了一截,默认顶部边距为22p

Three.js光线检测

(二)Three.js光线检测 摘要:使用three.js中的光线检测 Raycaster() ,实现一下效果: 通过点击处的坐标,修改摄像机位置,实现摄像机由远及近的过渡动态效果(由远景到近景) 1、鼠标点击—摄像机过渡动画 1.1 THREE.Raycaster对象 官网:Raycaster – three.js docs (threejs.org) 因为使用鼠标对模型点击获取,那么,再t

iOS12、iOS11、iOS10、iOS9常见适配

iOS12、iOS11、iOS10、iOS9常见适配 @(IOS各个版本适配) [TOC] 一、iOS12(Xcode10) 1.1、升级Xcode10后项目报错 不允许多个info.plist Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.plist 解决办法一:(推荐) 把build system切换到 Lega

iOS离屏渲染

界面渲染 UIView继承自UIResponder,可以处理系统传递过来的事件,如:UIApplication、UIViewController、UIView,以及所有从UIView派生出来的UIKit类。每个UIView内部都有一个CALayer提供内容的绘制和显示,并且作为内部RootLayer的代理视图。 下图为CALayer的结构图: CALayer.png RunLoop有

嵌入式ARM设计编程(二) 字符串拷贝

文章和代码已归档至【Github仓库:hardware-tutorial】,需要的朋友们自取。或者关注G-Z-号【AIShareLab】,回复 嵌入式 也可获取。 一、实验目的 通过实验掌握使用 LDB/STB,b等指令完成较为复杂的存储区访问和程序分支,学习使用条件码 二、实验环境 硬件:PC机 软件:ADS1.2 集成开发环境 三、实验内容 熟悉开发环境的使用并完成一块存储区的拷贝。 完成