<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2401_87555310的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2401_87555310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2401_87555310]]></copyright><item><title><![CDATA[Android又凉了？2024年Android开发还被唱衰，开发者如何涅槃重生？]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101476</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101476</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:27:09 +0800</pubDate><description><![CDATA[日常工作中，很多人遇到问题见招拆招，没有深入研究过第三方源码，有业务需要用到哪里的知识，就去谷歌一下拿来用，实现完功能就完了。在笔记中，针对Android开发这些年演进过程中，沉淀下来的那些支撑着 Android 迈向更稳健、更成熟的技术，进行详细而系统的输出。做了多年 Android，一直浮于表面，技能零散，什么都会点，什么都不太精，开发不费劲，遇到优化问题就懵，想深入还没有突破口；究其根本，就是因为知识体系零散，不理解底层原理，基础不牢固，导致技术迭代太快，跟不上节奏。有需要的朋友们，可以直接。]]></description><category></category></item><item><title><![CDATA[Android又凉了？2024年Android开发还被唱衰，开发者如何涅槃重生？(1)]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101462</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101462</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:25:09 +0800</pubDate><description><![CDATA[日常工作中，很多人遇到问题见招拆招，没有深入研究过第三方源码，有业务需要用到哪里的知识，就去谷歌一下拿来用，实现完功能就完了。》，这笔记我已经多次推荐，确实厉害。在笔记中，针对Android开发这些年演进过程中，沉淀下来的那些支撑着 Android 迈向更稳健、更成熟的技术，进行详细而系统的输出。想获得更高的机会，必须构建技术壁垒，必须要做一名 Android 的开发高手，而不是一个 “Android 开发者”。究其根本，就是因为知识体系零散，不理解底层原理，基础不牢固，导致技术迭代太快，跟不上节奏。]]></description><category></category></item><item><title><![CDATA[Android原生系统真的那么好用吗？安卓原生系统吊打其他系统，因为有Google-Play，所以应用都是纯净的？]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101446</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101446</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:23:08 +0800</pubDate><description><![CDATA[实际方面，原生 Android 的最大优势是更新快速，对供应商特别是 Android 上游的补丁的合并速度非常快，几乎总能在第一时间更新。因为系统越原生，更新的代价就越小。反之，如果一个停止更新的原生 Android 其实是没有多大意义的，它失去了它最大的优势。更新快速意味着能无偿的得到上游的系统优化、功能更新和 Bug 修复。如果再跟定制系统一对比优势就更大了，定制系统普遍臃肿、负优化（这个在很多定制系统中是明确存在的）、跟随上游的更新步伐极度缓慢甚至停止跟进上游（自己刷自己的版本自嗨）。]]></description><category></category></item><item><title><![CDATA[Android原生方式获取经纬度和城市信息]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101430</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101430</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:21:08 +0800</pubDate><description><![CDATA[首先将手机定位服务设置，调到下图所示：这可能会获取不到经纬度。为什么在网络和GPS都可用的情况下只执行GPS而不是网络？也许是从精确度考虑的，但是走GPS进入监听的listener后，不会执行onLocationChanged()方法，因为我是在室内，没有移动，所以如果你获取不到经纬度，就要将定位服务调到仅使用网络定位或者关闭手机GPS这样就可以获取到了。]]></description><category></category></item><item><title><![CDATA[Android原生开发，自定义View手撸一个抖音“潜艇大挑战”小游戏。]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101412</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101412</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:19:07 +0800</pubDate><description><![CDATA[少啰嗦，先看东西！下面介绍各部分代码的实现。]]></description><category></category></item><item><title><![CDATA[Android原生PDF功能实现]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101390</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101390</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:17:07 +0800</pubDate><description><![CDATA[spacing(10) // 单位 dp.load();/**/**@Override@Override/**@Override//是否内存= null) {PDF阅读页面的布局文件：activity_pdf.xml。]]></description><category></category></item><item><title><![CDATA[Android即将被替代？]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101368</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101368</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:15:06 +0800</pubDate><description><![CDATA[】]]></description><category></category></item><item><title><![CDATA[Android卡顿真的是因为”掉帧“？]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101355</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101355</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:13:06 +0800</pubDate><description><![CDATA[消费帧的速度与屏幕刷新率挂钩，屏幕就像连环画，若一秒播放 60 帧，消费一帧的速度为 1000/60 = 16.6 ms，即每 16.6 ms 屏幕就会去取下一帧的显示内容，若没取到，只能继续显示上一帧，画面就停滞了，这就称为“掉帧”，听上去好像丢失了无法找回的东西一样，其实它是形容“显示内容错过了一次显示机会”，描述的是屏幕硬件的一种行为。屏幕为啥会没有取到显示内容？得从软件层找原因。带着这个问题，读一下 Framework 源码。]]></description><category></category></item><item><title><![CDATA[Android动画的使用——补间动画]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101340</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101340</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:11:05 +0800</pubDate><description><![CDATA[2、代码调用@Override//获取控件//利用 AnimationUtils 这个工具类获取 Animation//因为这一步我们在 xml 中做了申明，所以这里不需要写，但是要记住，Duration 不设置你将会看不到动画//开始动画代码方式。]]></description><category></category></item><item><title><![CDATA[Android动画之帧动画]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101322</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101322</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:09:04 +0800</pubDate><description><![CDATA[/java的形式实现。//1.实现帧动画的类（相当于一本空白的小人书）//2.为帧动画添加内容（在小人书里添加内容）MainActivity.java文件如下。android:text=“开启” />android:text=“停止” />//3.将帧动画设置给View做背景。1.利用 Java 代码实现帧动画。//其他操作，如，设置只执行一次。//4.开启动画（相当于翻书）]]></description><category></category></item><item><title><![CDATA[Android动态修改应用图标和名称]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101306</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101306</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:07:04 +0800</pubDate><description><![CDATA[最后，可能有的同学会想，我现在的应用入口就是默认的一个Activity，默认的enable也是true，也没有配置任何的Activity-alias，而我在上面说的规则中都是建议清单文件中的Activity的android:enabled="false”，那有人可能就会想我的新版本设置成false会不会导致我的图标入口不见了呢？]]></description><category></category></item><item><title><![CDATA[Android加速度传感器]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101294</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101294</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:05:03 +0800</pubDate><description><![CDATA[传感器使用步骤之前已经介绍过，Android加速度传感器。]]></description><category></category></item><item><title><![CDATA[Android加载长图方案]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101280</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101280</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 08:03:03 +0800</pubDate><description><![CDATA[因为图片本身也是一个URL地址，也是被WebView渲染，并且支持缩放。这是一种实现方案，遇到几M的大图WebView也是会崩溃Crash，所以这种投机的方式并不推荐。分片加载，使用系统BitmapRegionDecoder去加载本地的图片，调用bitmapRegionDecoder.decodeRegion解析图片的矩形区域，返回bitmap，最终显示在ImageView上。这种方案需要手动处理滑动、缩放手势，网络图片还要处理缓存策略等问题。实现方式比较繁琐也不是很推荐。一款封装BitmapRegionD]]></description><category></category></item><item><title><![CDATA[Android初识贝塞尔曲线]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144101244</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144101244</guid><author>2401_87555310</author><pubDate>Thu, 28 Nov 2024 07:56:55 +0800</pubDate><description><![CDATA[/如果你发现你的 onTouchEvent 无法捕获 MOVE 事件，就是因为这个方法返回的是 false导致的。有了上面的历史回顾，下面，我们就来熟悉一下如何用代码 将其 在 Android 中可视化显示出来。//绘制二阶贝塞尔曲线。]]></description><category></category></item><item><title><![CDATA[android RK3328 gpio处理]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080483</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080483</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:49:00 +0800</pubDate><description><![CDATA[执行shell脚本工具类。Command执行结果。//判断文件是否存在。]]></description><category></category></item><item><title><![CDATA[android RK3328 gpio处理(1)]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080454</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080454</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:46:59 +0800</pubDate><description><![CDATA[file.exists()) {  //文件不存在。//如果path是传递过来的参数，可以做一个非目录的判断。Command执行结果。//判断文件是否存在。]]></description><category></category></item><item><title><![CDATA[Android Retrofit 2]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080429</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080429</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:44:59 +0800</pubDate><description><![CDATA[Retrofit是Square公司开发的一款针对Android网络请求的框架,遵循Restful设计风格,底层基于OkHttp.]]></description><category></category></item><item><title><![CDATA[android RecyclerView嵌套 RecyclerView 子item 和 父item点击事件如何处理_recyclerview嵌套 recyclerview 点击事件]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080383</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080383</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:42:58 +0800</pubDate><description><![CDATA[/点击店铺中商品前的checkbox。//点击店铺前的checkbox。]]></description><category></category></item><item><title><![CDATA[Android R WindowManagerService模块(3) Window的relayout过程]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080348</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080348</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:40:57 +0800</pubDate><description><![CDATA[if (attrs!= null) {// 调整特殊类型的Window#attrs属性// 针对壁纸窗口调整Window#attrs属性// 调整mSystemUiVisibility属性，控制status bar的显示// PRIVATE_FLAG_PRESERVE_GEOMETRY将忽略新x、y、width、height值，使用旧值!= 0) {// 确定flag是否发生变化。]]></description><category></category></item><item><title><![CDATA[android QMI机制---概论_qmi 原理]]></title><link>https://blog.youkuaiyun.com/2401_87555310/article/details/144080319</link><guid>https://blog.youkuaiyun.com/2401_87555310/article/details/144080319</guid><author>2401_87555310</author><pubDate>Wed, 27 Nov 2024 12:38:57 +0800</pubDate><description><![CDATA[这个是控制点向BP侧发送同步消息的函数，参数包括走的QMI_Service类型，Service里面消息的名称，从图中可以看出，上层控制点打包对应类型的QMI消息或通过其他操作系统的框架，将要发出的数据传到AP。侧底层的逻辑设备，最后逻辑设备通过内联的总线接口，传到BP侧的AMSS。从图中可看出，整个QMI架构中，主要是通过QMUX层完成软件上的TE和MSM的交互。消息长度不一样，可自己定义消息长度，不同的qmi消息，消息格式是相同的。目前我们QMI支持的逻辑设备有图中四种，电话系统，音频，蓝牙，GPS。]]></description><category></category></item></channel></rss>