<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[android1396的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/android1396</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; android1396]]></copyright><item><title><![CDATA[今日头条 Android ‘秒‘ 级编译速度优化]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107494028</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107494028</guid><author>android1396</author><pubDate>Tue, 21 Jul 2020 17:34:26 +0800</pubDate><description><![CDATA[本文来自掘金的字节跳动团队
原文链接：https://juejin.im/post/5f144b2f6fb9a07e6f7b7fce#heading-28
背景介绍
Android 项目一般使用 gradle 作为构建打包工具，而其执行速度慢也一直为人所诟病，对于今日头条 Android 项目这种千万行级别的大型工程来说，全量编译一次的时间可能高达六七分钟，在某些需要快速验证功能的场景，改动一行代码的增量编译甚至也需要等两三分钟，这般龟速严重影响了开发体验与效率，因此针对 gradle 编译构建耗时进行优化]]></description><category></category></item><item><title><![CDATA[android知识点总结]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107473919</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107473919</guid><author>android1396</author><pubDate>Mon, 20 Jul 2020 21:16:52 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
1，Android UI体系
1） 三层架构、MVC、MVP、MVVM
对于小项目可以按如下分法（mvp选用）；对于大项目可以按模块分，然后模块内再按如下分发。
分包（按功能分）：
basal：基类；
surface(fragment、activity、broadcast、listener）：界面类；
adapter：适配器类；
mvp(pres]]></description><category></category></item><item><title><![CDATA[对标IOS?Android11或无缘屏幕长截图]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107435645</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107435645</guid><author>android1396</author><pubDate>Sat, 18 Jul 2020 21:36:31 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
一直以来，不少用户都很喜欢用长截图功能进行页面截图，可以说在日常应用中这是一项比较实用的功能。
目前比较主流的小米MIUI、华为EMUI、三星OneUI等第三方 Android 定制 UI都对这一功能进行了支持。
然而令人惊讶的是，用户众多的原生Android系统却至今都没有对这一功能进行支持。
尽管安卓方面曾给出过配备这一功能的承诺，且一些早期]]></description><category></category></item><item><title><![CDATA[NDKr20使用clang编译ffmpeg]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107418075</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107418075</guid><author>android1396</author><pubDate>Fri, 17 Jul 2020 21:35:06 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。

通过这篇文章了解c/c++编译器的基本使用，能够在后续移植第三方框架进行交叉编译时（编译android可用的库），清楚的了解应该传递什么参数，怎么传递参数给编译器，各个参数的意义是什么，从而为后面音视频的深入学习编译ffmpeg做好准备工作。
有关ffmpeg的编译资料网上一大推，但是照着资料拷贝的运行进行编译能顺利编译出静态库或静态库产物的寥]]></description><category></category></item><item><title><![CDATA[音视频学习之NDK交叉编译基础]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107417206</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107417206</guid><author>android1396</author><pubDate>Fri, 17 Jul 2020 20:39:52 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
交叉编译
交叉编译就是程序的编译环境和实际运行环境不一致，即在一个平台上生成另一个平台上的可执行代码。
比如NDK，你在Mac、Win或者Linux上生成的C/C++的代码要在Android平台上运行，就需要使用到交叉编译了。
通俗点说就是你的电脑和手机使用的CPU不同，所以CPU的指令集就不同，比如arm的指令集在X86上就不能运行。
常用的编]]></description><category></category></item><item><title><![CDATA[盘点7个强大的NODE.JS框架]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107392219</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107392219</guid><author>android1396</author><pubDate>Thu, 16 Jul 2020 20:47:05 +0800</pubDate><description><![CDATA[Node.js是由Ryan Dahl于2009年创建的，它是一个开源的跨平台运行时环境，用于开发服务器端和网络应用程序，这篇文章的重点是Node.js框架，会给大家简要盘点7个强大的Node框架，希望对大家有帮助。
​
我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。

1、Sanity.io
Sanity.io是一个很棒的Node.JS框架，基于Node的无头CMS系统。它的一些突出的特点有：]]></description><category></category></item><item><title><![CDATA[Android导入flutter模块]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107370884</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107370884</guid><author>android1396</author><pubDate>Wed, 15 Jul 2020 21:33:50 +0800</pubDate><description><![CDATA[​我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
1、Flutter模块导入
1.创建Flutter模块
切换到项目的根目录上一层，执行如下命令创建flutter模块
在项目的setting.gradle中添加
或者根据自己的实际目录修改上述目录，这样就绑定了Flutter模块，在项目结构视图中应该就能看到Flutter的结构。
这样，flutter模块就已经引入了，但是自己的项目中还没实际引]]></description><category></category></item><item><title><![CDATA[flutter 如何快速的做好APP的图标适配]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107349061</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107349061</guid><author>android1396</author><pubDate>Tue, 14 Jul 2020 22:26:30 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。

接触Flutter一年多的时间，作为一名之前只做H5前端开发的老司机，对类原生App开发还是挺有兴趣的，一点小小的发现和提升都会惊喜，希望能和大家一起学习进步，提升自己的能力，做出更好更优秀的APP应用。今天跟大家一起来学习如何做好Flutter App应用图标的适配。
Android 8.0 后App图标开始变成圆形的图标了

如果不进行图标]]></description><category></category></item><item><title><![CDATA[flutter GridView 九宫格]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107347003</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107347003</guid><author>android1396</author><pubDate>Tue, 14 Jul 2020 20:40:24 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
1 引言
GridView是常用可滚动组件之一，在Flutter中通常使用GridView构建二维网格列表，GridView创建方法有五种，描述如下
GridView的构造函数方法，一次性构建所有的子条目，适用于少量数据
GridView.builder方式来构建，懒加载模式，适用于大量数据的情况
GridView.count方式来构建，适用于固]]></description><category></category></item><item><title><![CDATA[Android recycleview 分割线彩蛋]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107325571</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107325571</guid><author>android1396</author><pubDate>Mon, 13 Jul 2020 22:19:39 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
首先上问题
怎么做？
当我们空余时间的时候，需要有外遇
实现
首先上问题

这是一个用 recycleview做的垂直列表，在列表的最底部，是紧贴屏幕的底部，但是我们需要留出一定的空间来处理，这样看来正常点。
怎么做？
比如在最后一种item的底部预留了一个高度50dp的view，adapter在bind数据的时候，根据position判断是否需]]></description><category></category></item><item><title><![CDATA[Flutter是个啥？ 能帮Android工程师涨薪吗]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107324476</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107324476</guid><author>android1396</author><pubDate>Mon, 13 Jul 2020 20:31:42 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
作为生于2018，火于2019的框架技术，Flutter是个啥？掌握它以后能不能实现薪资上调呢？今天我们就来探究下。
Flutter是个啥？
Flutter是谷歌的移动UI框架，可以快速在iOS和Android上构建高质量的原生用户界面。
Flutter可以与现有的代码一起工作。
Flutter是完全免费、开源的。
Flutter好用么？
No.]]></description><category></category></item><item><title><![CDATA[谷歌退出Kotlin迁移指南Android开发者的首选语言]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107270111</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107270111</guid><author>android1396</author><pubDate>Fri, 10 Jul 2020 21:51:03 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
谷歌推出 Kotlin 迁移指南 Android开发者的首选语言
5 月份的 Google I/O 上，谷歌宣布 Kotlin-first，Kotlin 开始成为 Android 开发者的首选语言，接着谷歌针对 Kotlin 的相关建设不断。本文简介了谷歌推出的 Kotlin 迁移指南相关内容。
开始从 Java 迁移到 Kotlin
谷歌建议“]]></description><category></category></item><item><title><![CDATA[Electron 调用 原生代码的正确打开方式，不是ffi！]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107237430</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107237430</guid><author>android1396</author><pubDate>Thu, 09 Jul 2020 21:15:29 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
electron 很不错，可以实现跨平台应用的开发，但是如果需要跟硬件交互就显得欠缺了，好在 electron 实际上是 node js + html + css，而 nodejs 想要调用本地代码还是可以实现的。我也是基于这个想法去做的，但是遇到了一堆的问题。

我们知道，nodejs 主要使用 ffi 实现调用原生代码，这点毋庸置疑，而 El]]></description><category></category></item><item><title><![CDATA[2020年Android开发还有出路吗？]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107215460</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107215460</guid><author>android1396</author><pubDate>Wed, 08 Jul 2020 21:26:27 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。

前言
从2010年开始Android市场开始需要大量的Android开发人员，招聘市场上也开始大量招Android开发人员，大量java开发者开始学习Android开发，招聘市场面试要求上只要有一定java语法基础，都很容易应聘上Android开发的岗位，因为那时候国内Android开发的需求刚刚起步，从事Android开发的人员很少，到201]]></description><category></category></item><item><title><![CDATA[Android Studio意图intent的使用]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107215055</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107215055</guid><author>android1396</author><pubDate>Wed, 08 Jul 2020 21:01:06 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
Intent的使用

使用显示Intent
首先构建出了一个Intent ，传人FirstActivity.this 作为上下文，传入SecondActivity.class 作为目标活动，这样我们的“意图”就非常明显了，即在FirstActivity 这个活动的基础上打开SecondActivity 这个活动。然后通过startActivity]]></description><category></category></item><item><title><![CDATA[用手机可以抓取SYstrace，你知道么？]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107191684</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107191684</guid><author>android1396</author><pubDate>Tue, 07 Jul 2020 22:09:41 +0800</pubDate><description><![CDATA[我收集了一些学习用的资料，其中包含了很多学习，面试，中高进阶fluuter资料，还有很多视频详解，如果有同学想进一步了解，详情请看文末。也欢迎各路大神门前来装X。
一、手机端打开Systrace方法
二、System Traceing的主要功能
三、Systrace 的抓取方法
一、手机端打开Systrace方法
Systrace 是研发人员用来分析手机卡顿等性能问题的Log，那么如何在手机端抓取Systrace Log呢？
1.手机端抓取Systrace 的方法
System Traceing 打开方法一]]></description><category></category></item><item><title><![CDATA[安卓开发之数据储存在本地的四种方式]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107190729</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107190729</guid><author>android1396</author><pubDate>Tue, 07 Jul 2020 21:25:40 +0800</pubDate><description><![CDATA[安卓开发之数据储存在本地的四种方式

本地数据存储，在安卓开发过程中是不可避免的一个话题。这些本地的数据可能是用户的设置，程序的设置，用户的数据图片, 也可能是网络传输的一些缓冲数据。
基本上我们有4种方法可以存储安卓程序的数据。
第1种是Shared Preference(共享选项)。
这种方法适合于存储一些基本数据类型的数据。他提供的是key-value（键值）的方式。键必须是字符串类型的，值可以是布尔型的，浮点型的，整型的，长整型的，或者字符串类型的。
这种方式是用一个xml文件在私有的目录里面存放这]]></description><category></category></item><item><title><![CDATA[Eclopes在安卓开发遇到的错误解决办法]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107190051</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107190051</guid><author>android1396</author><pubDate>Tue, 07 Jul 2020 20:50:02 +0800</pubDate><description><![CDATA[为了培养大家自学能力和独立解决问题的能力，出现错误先按以下步骤进行处理：
Eclipse错误解决办法:
步骤1：导入库,ctrl+shift+o
步骤2：保存项目
步骤3：检查拼写是否有错误，
步骤4：否则把Problem页面出现的错误，输入到手机百度进行查询，找到解决办法，
举例1： insert “;” to complete FieldDeclaration （插入分号;以补充完整表达式声明）
解决办法,如下:
举例2：xxx cannot be resolved to a variable （xxx]]></description><category></category></item><item><title><![CDATA[iOS14发布，苹果开始参考安卓了？]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107131657</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107131657</guid><author>android1396</author><pubDate>Sat, 04 Jul 2020 22:39:19 +0800</pubDate><description><![CDATA[6月23日凌晨，WWDC 2020开发者大会正式召开，这次的苹果给我们带来了全新的iOS 14，具体的来看一看。
iOS 14作为本次WWDC的重头戏，苹果方面为用户带来了三个便携式新功能——桌面小部件、画中画及应用库。

有关苹果这次的桌面小部件新功能，大致可参考安卓的桌面小工具，可实现自由选择桌面小部件，同时可自由调整其大小，这一点上与安卓相差无异，略失公正的说，在该功能上苹果就好像直接将安卓的桌面小工具搬运过来了。

不过有关这一功能，苹果并非完全照搬，相较于安卓的桌面小工具功能，苹果iOS 14的桌]]></description><category></category></item><item><title><![CDATA[webgl 迷宫项目开发总结]]></title><link>https://blog.youkuaiyun.com/android1396/article/details/107130312</link><guid>https://blog.youkuaiyun.com/android1396/article/details/107130312</guid><author>android1396</author><pubDate>Sat, 04 Jul 2020 21:10:33 +0800</pubDate><description><![CDATA[项目简介：

项目分为两个部分：
第一部分是一个迷宫Maze， 首先生成矩形cell数组，每个cell有4个side，然后一步一步地remove side（不包括迷宫边缘的side），直到全部的cell 都连通（connected）。然后在迷宫的左边缘创建一个入口，在右边缘创建一个出口。
整体网页需要接收2个参数：N和M， 迷宫的大小为N*M。
第二部分是交互操作Guide。在迷宫入口设置一个老鼠图片，然后可以通过左右键调整老鼠的朝向，方向键上来前进一步。
收获
webgl 三个js库
webgl-util]]></description><category></category></item></channel></rss>