自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 今日头条 Android ‘秒‘ 级编译速度优化

本文来自掘金的字节跳动团队原文链接:https://juejin.im/post/5f144b2f6fb9a07e6f7b7fce#heading-28背景介绍Android 项目一般使用 gradle 作为构建打包工具,而其执行速度慢也一直为人所诟病,对于今日头条 Android 项目这种千万行级别的大型工程来说,全量编译一次的时间可能高达六七分钟,在某些需要快速验证功能的场景,改动一行代码的增量编译甚至也需要等两三分钟,这般龟速严重影响了开发体验与效率,因此针对 gradle 编译构建耗时进行优化

2020-07-21 17:34:26 494

原创 android知识点总结

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。1,Android UI体系1) 三层架构、MVC、MVP、MVVM对于小项目可以按如下分法(mvp选用);对于大项目可以按模块分,然后模块内再按如下分发。分包(按功能分):basal:基类;surface(fragment、activity、broadcast、listener):界面类;adapter:适配器类;mvp(pres

2020-07-20 21:16:52 402

原创 对标IOS?Android11或无缘屏幕长截图

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。一直以来,不少用户都很喜欢用长截图功能进行页面截图,可以说在日常应用中这是一项比较实用的功能。目前比较主流的小米MIUI、华为EMUI、三星OneUI等第三方 Android 定制 UI都对这一功能进行了支持。然而令人惊讶的是,用户众多的原生Android系统却至今都没有对这一功能进行支持。尽管安卓方面曾给出过配备这一功能的承诺,且一些早期

2020-07-18 21:36:31 195

原创 NDKr20使用clang编译ffmpeg

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。通过这篇文章了解c/c++编译器的基本使用,能够在后续移植第三方框架进行交叉编译时(编译android可用的库),清楚的了解应该传递什么参数,怎么传递参数给编译器,各个参数的意义是什么,从而为后面音视频的深入学习编译ffmpeg做好准备工作。有关ffmpeg的编译资料网上一大推,但是照着资料拷贝的运行进行编译能顺利编译出静态库或静态库产物的寥

2020-07-17 21:35:06 729

原创 音视频学习之NDK交叉编译基础

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。交叉编译交叉编译就是程序的编译环境和实际运行环境不一致,即在一个平台上生成另一个平台上的可执行代码。比如NDK,你在Mac、Win或者Linux上生成的C/C++的代码要在Android平台上运行,就需要使用到交叉编译了。通俗点说就是你的电脑和手机使用的CPU不同,所以CPU的指令集就不同,比如arm的指令集在X86上就不能运行。常用的编

2020-07-17 20:39:52 535

原创 盘点7个强大的NODE.JS框架

Node.js是由Ryan Dahl于2009年创建的,它是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,这篇文章的重点是Node.js框架,会给大家简要盘点7个强大的Node框架,希望对大家有帮助。​我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。1、Sanity.ioSanity.io是一个很棒的Node.JS框架,基于Node的无头CMS系统。它的一些突出的特点有:

2020-07-16 20:47:05 707

原创 Android导入flutter模块

​我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。1、Flutter模块导入1.创建Flutter模块切换到项目的根目录上一层,执行如下命令创建flutter模块在项目的setting.gradle中添加或者根据自己的实际目录修改上述目录,这样就绑定了Flutter模块,在项目结构视图中应该就能看到Flutter的结构。这样,flutter模块就已经引入了,但是自己的项目中还没实际引

2020-07-15 21:33:50 401

原创 flutter 如何快速的做好APP的图标适配

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。接触Flutter一年多的时间,作为一名之前只做H5前端开发的老司机,对类原生App开发还是挺有兴趣的,一点小小的发现和提升都会惊喜,希望能和大家一起学习进步,提升自己的能力,做出更好更优秀的APP应用。今天跟大家一起来学习如何做好Flutter App应用图标的适配。Android 8.0 后App图标开始变成圆形的图标了如果不进行图标

2020-07-14 22:26:30 763

原创 flutter GridView 九宫格

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。1 引言GridView是常用可滚动组件之一,在Flutter中通常使用GridView构建二维网格列表,GridView创建方法有五种,描述如下GridView的构造函数方法,一次性构建所有的子条目,适用于少量数据GridView.builder方式来构建,懒加载模式,适用于大量数据的情况GridView.count方式来构建,适用于固

2020-07-14 20:40:24 342

原创 Android recycleview 分割线彩蛋

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。首先上问题怎么做?当我们空余时间的时候,需要有外遇实现首先上问题这是一个用 recycleview做的垂直列表,在列表的最底部,是紧贴屏幕的底部,但是我们需要留出一定的空间来处理,这样看来正常点。怎么做?比如在最后一种item的底部预留了一个高度50dp的view,adapter在bind数据的时候,根据position判断是否需

2020-07-13 22:19:39 160

原创 Flutter是个啥? 能帮Android工程师涨薪吗

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。作为生于2018,火于2019的框架技术,Flutter是个啥?掌握它以后能不能实现薪资上调呢?今天我们就来探究下。Flutter是个啥?Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。Flutter是完全免费、开源的。Flutter好用么?No.

2020-07-13 20:31:42 262

原创 谷歌退出Kotlin迁移指南Android开发者的首选语言

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。谷歌推出 Kotlin 迁移指南 Android开发者的首选语言5 月份的 Google I/O 上,谷歌宣布 Kotlin-first,Kotlin 开始成为 Android 开发者的首选语言,接着谷歌针对 Kotlin 的相关建设不断。本文简介了谷歌推出的 Kotlin 迁移指南相关内容。开始从 Java 迁移到 Kotlin谷歌建议“

2020-07-10 21:51:03 195

原创 Electron 调用 原生代码的正确打开方式,不是ffi!

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。electron 很不错,可以实现跨平台应用的开发,但是如果需要跟硬件交互就显得欠缺了,好在 electron 实际上是 node js + html + css,而 nodejs 想要调用本地代码还是可以实现的。我也是基于这个想法去做的,但是遇到了一堆的问题。我们知道,nodejs 主要使用 ffi 实现调用原生代码,这点毋庸置疑,而 El

2020-07-09 21:15:29 1355 1

原创 2020年Android开发还有出路吗?

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。前言从2010年开始Android市场开始需要大量的Android开发人员,招聘市场上也开始大量招Android开发人员,大量java开发者开始学习Android开发,招聘市场面试要求上只要有一定java语法基础,都很容易应聘上Android开发的岗位,因为那时候国内Android开发的需求刚刚起步,从事Android开发的人员很少,到201

2020-07-08 21:26:27 1055

原创 Android Studio意图intent的使用

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。Intent的使用使用显示Intent首先构建出了一个Intent ,传人FirstActivity.this 作为上下文,传入SecondActivity.class 作为目标活动,这样我们的“意图”就非常明显了,即在FirstActivity 这个活动的基础上打开SecondActivity 这个活动。然后通过startActivity

2020-07-08 21:01:06 692

原创 用手机可以抓取SYstrace,你知道么?

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。一、手机端打开Systrace方法二、System Traceing的主要功能三、Systrace 的抓取方法一、手机端打开Systrace方法Systrace 是研发人员用来分析手机卡顿等性能问题的Log,那么如何在手机端抓取Systrace Log呢?1.手机端抓取Systrace 的方法System Traceing 打开方法一

2020-07-07 22:09:41 1576

原创 安卓开发之数据储存在本地的四种方式

安卓开发之数据储存在本地的四种方式本地数据存储,在安卓开发过程中是不可避免的一个话题。这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据。基本上我们有4种方法可以存储安卓程序的数据。第1种是Shared Preference(共享选项)。这种方法适合于存储一些基本数据类型的数据。他提供的是key-value(键值)的方式。键必须是字符串类型的,值可以是布尔型的,浮点型的,整型的,长整型的,或者字符串类型的。这种方式是用一个xml文件在私有的目录里面存放这

2020-07-07 21:25:40 5793

原创 Eclopes在安卓开发遇到的错误解决办法

为了培养大家自学能力和独立解决问题的能力,出现错误先按以下步骤进行处理:Eclipse错误解决办法:步骤1:导入库,ctrl+shift+o步骤2:保存项目步骤3:检查拼写是否有错误,步骤4:否则把Problem页面出现的错误,输入到手机百度进行查询,找到解决办法,举例1: insert “;” to complete FieldDeclaration (插入分号;以补充完整表达式声明)解决办法,如下:举例2:xxx cannot be resolved to a variable (xxx

2020-07-07 20:50:02 212

原创 iOS14发布,苹果开始参考安卓了?

6月23日凌晨,WWDC 2020开发者大会正式召开,这次的苹果给我们带来了全新的iOS 14,具体的来看一看。iOS 14作为本次WWDC的重头戏,苹果方面为用户带来了三个便携式新功能——桌面小部件、画中画及应用库。有关苹果这次的桌面小部件新功能,大致可参考安卓的桌面小工具,可实现自由选择桌面小部件,同时可自由调整其大小,这一点上与安卓相差无异,略失公正的说,在该功能上苹果就好像直接将安卓的桌面小工具搬运过来了。不过有关这一功能,苹果并非完全照搬,相较于安卓的桌面小工具功能,苹果iOS 14的桌

2020-07-04 22:39:19 436

原创 webgl 迷宫项目开发总结

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

2020-07-04 21:10:33 363

原创 手把手带您开发第一个android应用

环境安装win10IDE就用android studio。小编这里就不贴下载地址了,百度搜索一下第二条结果就是官方网站(英文,google公司出的)。 什么?你说第一条搜索结果?那是国内的山寨官方网站。为什么说它是山寨网站呢,因为它的下载速度还不如英文的官网速度快。下载一个700多M的安装文件,一路Next安装成功;打开android studio之后,又开始下载几百M的SDK,这里小编就不截图了。创建项目下面就可以正常运行android studio了。如下图所示,创建一个新的项目:然后进入

2020-07-03 22:44:59 431

原创 安卓开发者抱怨谷歌强推自家工具包Firbase,美监管机构介入

一些安卓应用程序开发者近日表示,谷歌母公司 Alphabet 越来越强迫开发者在产品中嵌入自家服务,比如大力推行 2014 年收购的 Firebase 服务,以加强获取消费者数据的能力,巩固自己在广告领域的领先地位。事实上,Firebase 服务已经成为了美国司法部对谷歌更广泛调查的一部分。这些调查主要针对谷歌是否在在线广告和其他商业领域进行了非法竞争,以及一些不起眼的小额收购是否帮助其扩大了某个领域的统治地位,甚至是造成了垄断。针对开发者的控诉,谷歌拒绝发表具体评论,只是强调 Firebase 服务并

2020-07-03 21:53:10 205

原创 Android 12曝光!谷歌强制64位应用,32位App将被抛弃

6月27日消息,据开发者爆料, 谷歌 x86_64 模拟器将在下一代操作系统 Android S 停止对 32 位的支持,按照字母排序计算,Android S 对应的应该中安卓 12 系统,这将是安卓史上首次停止对 32 位支持。Android 12 曝光!谷歌强制 64 位应用,32 位App将被抛弃有开发者猜测,谷歌停止 32 位支持的原因很简单, 因为 32 位采用固有架构,限制了系统的发展,目前主流操作系统基本都已经切换到 64 位环境,比如苹果 iOS 11 、macOS Catalina、W

2020-07-02 22:11:36 2969

原创 作为一个android开发者,你是如何通过自己的努力进入大厂的

很多人Android开发者朋友都是希望能进大厂的,但是对于大厂的招聘要求,门槛不是很了解。本人13年java转Android开发,去阿里,华为等大厂待过,也面试过很多人,对这些方面比较了解。这里以阿里巴巴社招要求为例来详细介绍一下,希望可以给想进大厂但是找不到方向的朋友一个参考。这里我们先来看一下阿里招聘Android高级工程师的具体要求下面是招聘网上阿里的一则Android高级工程师招聘。任职要求的重点我划出来了;可以看出阿里对于技术的深度要求是非常高的。得熟悉Android系统原理,扎实的数据结

2020-07-02 20:38:44 1077 1

原创 数据结构的基本概念和常用术语

数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据元素数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一个数据元素,它由学号、姓名、性别等数据项组成。注意:不要混淆数据、数据元素、数据项之间的概念,也要注意和数据库中的相关术语进行区别:如数据记录、数据字段等概念。数据对象数据对象是具有相同性质的数据元素的集合,是数据的一.

2020-07-01 21:19:58 233

原创 常见数据结构算法总结

1、快速排序法概念:排序速度非常快,采用分治思想空间复杂度快速排序是一种原地排序,只需要一个很小的栈作为辅助空间,空间复杂度为O(logn),所以适合在数据集比较大的时候使用。时间复杂度时间复杂度比较复杂,最好的情况是O(n),最差的情况是O(n^2),所以平时说的O(nlogn),为其平均时间复杂度过程:在一堆数列中选择出一个数作为基准(一般选择最后一个数或者第一个数作为基准),在这个数列中的所有数中,比基准小的排在左边,比基准大的排在右边。这样交换完了之后,左边的数都是比基准小,而右边的数

2020-06-30 19:41:28 464

原创 android系统的优缺点

android系统的优点  bai市场du份额大:超80%,iOS不到13%; Windows Phone 不到4%;  应用zhi程序发展迅速:Android应用商店最大dao的优势是,不对应用程序进行严格。在这一点上优于苹果。  智能厂家助力:世界很多智能手机厂家几乎都加入了Android阵营,并推出了一系列的Android智能机。终端越多,其市场潜力就越大。大部分厂家参与建立了Android平台技术联盟。  Android价廉性能不低:虽然Android平台的手机价廉,但是其性能却一点也不低廉

2020-06-29 22:43:39 4479

原创 到 2019年,Android 到底进化了多少?

Android4.1启动project butter 以后原生Android的系统运行流畅度得到质的提升。Android5.0以后,以ART模式取代Dalvik模式以后APP的开启和响应速度得到质的提升。Android6.0以后对权限的管理和电量管理也进一步提升。总的来说,Android5.0是一次大的飞跃,Android进入5.0之前是重新设计过做过优化的UI更好用,Android5.0以后,直接把原生Android拿过来就是一个足够优秀完全够用的系统。当然还有ios的开发力度和Android开发

2020-06-28 21:12:40 134

原创 你遇到过哪些高质量的Android面试?

我曾经当过面试官。小公司,就我一个Android开发,所以赶鸭子上架,让我当面试官。面试对象:一位近40岁的码农背景:10年工作经验,简历上非常花哨,做过各种Android开发。简介:说实话,当人事把简历递到我面前的时候,我稍稍的惊呆了一下。这个工作经历比我长一倍还多的“大牛”,要知道面试他的是我这么个菜鸟级别的开发,会不会特鄙视我,以至于鄙视我们公司。偶们公司虽然小,但是我还是很有公司荣誉感的一个人。面试过程:我: 简述Handler消息机制。“大牛”: 嗯?我: (一定是问题没描述清楚,怎么上

2020-06-27 17:51:41 155

原创 Android开发前景怎么样?

Java 基础;搭建Android 开发环境;了解Android 运行原理以及一个工程项目结构;如何系统学习Android;推荐一些实用的资源总结-------------------------------------------------------------------------------------------------首先呢?当然要有Java 基础;  我大学的专业就是Java,但由于没学好,刚开始学Android 的时候,挺吃力的,后来又去补Ja..

2020-06-24 20:20:32 373

原创 JAVA 学到什么水平就可以转战 Android 了?

JAVA 学到什么水平就可以转战 Android 了?先简单的分两种情况:一、有编程基础,或者科班出身的,直接上吧。强烈推荐郭霖老师的《第一行代码-Android》二、没编程基础的,先入门java,如果天天都有比较多的空闲时间的话,这个入门时间要在2周完成,如果没有的话,1个月内完成吧,不要让拖延耽搁你的激情。如果你准备好了进军Android:不管你什么时候开始学习Android,请使用Android Studio,首现改主题,然后去网上搜一下常用的20个快捷键截图放在电脑桌面上!如果是色彩

2020-06-23 21:44:05 442

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除