- 博客(105)
- 收藏
- 关注
原创 Android 11 下 Toast 变化,不能自定义 Toast 了?,android音频面试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IwaJwl36-1637829931743)(https://user-gold-cdn.xitu.io/2020/4/29/171c55054ee42e60?imageView2/0/w/1280/h/960/ignore-error/1)]禁止后台自定义 Toasttext toast 不允许自定义setView() 被弃用新增 Toast.Callback 回调Android 11 API 变
2021-11-25 16:45:49
1119
原创 Andorid 开发艺术探索笔记(3),2021春招BAT面试真题详解
隐式调用Acitvity需要去匹配目标组件的IntentFilter中所有的过滤信息,如果不匹配则无法启动目标Activity。IntentFilter中有action,category,data三个过滤信息。在Menifest中,一个intent-filter可以声明多个act《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享ion、category、data。只有一个in
2021-11-25 16:44:23
321
原创 8年老司机教你,如何写出一份“有理有据使人信服,事件分发机制Android
GraphQL -> 是一种针对图状数据进行查询特别有优势的查询语言GraphQL Query-> 一种类似于HTTP GET的GraphQL 请求,用来查询后端数据GraphQL Mutation-> 一种类似于HTTP POST 的GraphQL请求,用来修改后端数据GraphQL Subscription-> 一种建立在客户端和后端之间的长链接,用来监听后端数据变化请求,大部分GraphQL框架用websocket来实现有了这上面的介绍,相信你在接下来设计细节说..
2021-11-25 16:42:41
159
原创 35岁技术人如何转型做管理?阿里高级算法专家公开10大思考,android设计模式
原创置顶 阿里技术官方号 最后发布于2020-01-17 11:44:33 阅读数 15509 收藏展开简介: 35岁左右对工程师而言是个不同寻常的年龄段。技术人有可能面临人生中的转型:从纯技术岗转向管理岗。也将面临诸多新的挑战,关于组建团队、领导以及KPI设置等。本文将讲述阿里资深技术leader张荣从去年1月底接手CRO线NLP算法团队以来,在团队组建、能力建设、以及管理上的一些思考。这些思考从实践中来,总结出一套方法论,希望能给予转型中的技术人一些启发。 张荣,花名威视,现任职阿里巴巴 CRO
2021-11-25 16:38:54
576
原创 2021年 Android面试知识点总结 (备战金三银四面试季),程序员翻身之路
FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_CLEAR_TOP一起使用,并且要启动的activity的taskAffinity和当前activity的taskAffinity不一样才会和singleTask一样的效果,因为要启动的activity和原先的activity不在同一个taskAffinity中,所以能启动该activity,这个地方有点绕,写个简单的公式:FLAG_ACTIVITY_NEW_TASK如果启动同一个不同taskAffinity的activity才
2021-11-25 16:35:22
268
原创 2019届应届毕业生Android秋招总结,已成功入职网易云音乐,【设计思想解读开源框架】
然后是编程 题,不能使用 java数据结构,实现栈,需要考虑 线程安全 ,泛型 ,扩容, 限定 5分钟能不能优化,scyronized 和 volitle 区别,votile原理IPC方式?Binder原理?Binder连接池(这个真不会)Client调用Server方法的过程?看过Framework那些源码?自定义View 需要注意的问题,MesureSpec, 自定义View 动画的实现Handler原理?子线程如何实现Handler,Message如何存储在MessageQueen?有
2021-11-25 16:33:05
192
原创 1分钟教你App点击秒开技能,高级开发面试题及答案
<bitmapandroid:gravity=“bottom|clip_vertical”android:src="@drawable/launcher_bottom"/>步骤四:恢复默认主题protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setTheme(R.style.AppTheme);//恢复默认主题样式setContentView(R.la..
2021-11-25 16:28:49
155
原创 2020疫情冲击,波及互联网半边天,程序员想稳定还得拼实力,华为架构师深入讲解Android开发
而对于一些不爱学习的半吊子程序员来说,被清退可能就意味着灾难,技术水平低,简历也单薄的可怜,投出去多少都很难收到面试机会。你是否有过这么一段经历,一直做着OA,CRM管理系统等传统项目,简历技能开头第一行,基本都是“熟悉Android四大组件”,然后下面接着就是熟悉XXX。然后不断列名词,举例一下:Android基础扎实熟悉四大组件…熟悉OKhttp…熟悉RXJava…这个,是否就是你的简历套路???但是你发现,这样的简历,没有丝毫亮点,收到的面试机会更是少得可怜,而且还是低质量的外包居多。
2021-11-24 00:28:10
119
原创 2020年是做安卓开发人员的绝佳时机,android游戏开发入门题大学题
学习REST和HTTP - 大多数专业开发都非常擅长理解REST和HTTP的所有特点学习如何利用多线程1.学习如何将耗时操作移出主线程2.线程的重要性3.学习提供的帮助你在最短时间内最大限度地利用线程代码的类4.了解安卓如何在系统级使用线程,这将如何影响App中的设计选择和决策5.了解系统内存和线程代码的细微差别6.了解如何将线程解决方案应用于极其庞大和复杂的任务成为处理配置更改的专家1.在配置更改期间保留对象2.自己处理配置更改学习数据库和SQL1.云数据库2.离线和本地数据库.
2021-11-24 00:23:02
3335
原创 2020年Android面试笔试总结(Android精心整理篇),Android技术类校招面试题汇总
singleTop:如果当前要启动的Activity就是在栈顶的位置,那么此时就会复用该Activity,并且不会重走onCreate方法,会直接它的onNewIntent方法,如果不在栈顶,就跟standard一样的。如果当前activity已经在前台显示着,突然来了一条推送消息,此时不想让接收推送的消息的activity再次创建,那么此时正好可以用该启动模式,如果之前activity栈中是A–>B–>C如果点击了推动的消息还是A–>B–C,不过此时C是不会再次创建的,而是调用C的onN
2021-11-24 00:20:27
512
原创 2020Android通用流行框架大全,android开发入门基础教程
名称描述Android Async HTTPAndroid异步HTTP库AndroidAsync异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。OkHttp一个Http与Http/2的客户端Retrofit类型安全的Http客户端VolleyGoogle推出的Android异步网络请求框架和图片加载框架5. 网络解析名称描述Gson一个Java序列化/反序列化...
2021-11-24 00:11:42
540
原创 2019-我的-Android-路要怎么走?—,真香
这是承接上面那条的,某个小的知识点我们终于搞明白了,学透了之后呢,其实大家会很快遗忘的,我自己也是如此!非常通透的理解过不了几天就会开始变得模糊不清。目前有效的方法只能是在通过敲 demo 在代码级别搞通透之后,通过成体系的写技术博文来实现。这样的好处:一是落于纸面之后,忘了我们可以通过博文马上回忆起来 ;二是我们是成体系的去选择学习的,中途我们可以随时停下来,去做当前手头更要命的事,完事后再回过头来继续这个知识点的学习,因为通过之前的摸底已经制定出了学习顺序,继续这个顺序去学习未完的部分即可。大家在工作时
2021-11-24 00:08:26
674
原创 2017下半年掘金日报优质文章合集:Android篇,android开发工程师
GitHub 整理|那些优秀的开源时间日期选择器,总有一款适合你Android程序员搭建一个属于自己的服务器,不再求各种公共APIXRadarView 一个可高度自定义的雷达图控件手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法Android 开发常用工具和第三方库汇总30多个超赞的Android开发者工具Android Tangram模型:手把手带你学习淘宝、天猫都在用的UI框架模型能够提升你逼格和 Level 的开源库..
2021-11-24 00:05:16
343
原创 Flutter常用组件-ListView-列表组件,直面春招
Widget build(BuildContext context) {return ListTile(//标题title: Text(“House”),//副标题subtitle: Text(“A House”),//前置图标leading: Icon(Icons.home),//后置图标trailing: Icon(Icons.keyboard_arrow_right),//内容内边距contentPadding: EdgeInsets.all(5.0),//是否选中状态sel
2021-11-23 18:51:39
757
原创 Flutter_bloc框架使用笔记,后续估计都不太会用了,android界面开发工具
body: BlocProvider(create: (_) => _registerBloc,child: RegisterScreen(widget.phone),)这里是为后续的节点注册了一个RegisterBloc, 从这个节点下级的widget就可以通过Provider.of<RegisterBloc>来获取。 当然也可以有其他的方式比如context.read<RegisterBloc>来获取。这里也可以把bloc传给screen,可以方便在screen里
2021-11-23 18:49:13
7872
原创 Flutter-可以缩放拖拽的图片,android进程管理器
| cacheGesture | 是否缓存手势状态,可用于Pageview中保留状态,使用clearGestureDetailsCache方法清除 | false || inPageView | 是否使用ExtendedImageGesturePageView展示图片 | false |实现过程这一个功能比较简单,参考了官方的gestures demo,将缩放的Scale和Offset转换了为了图片最后显示的区域,具体代码在最后绘制图片的时候,将gestureDetails转换为对应的图片显示区域。
2021-11-23 18:43:56
951
原创 Flutter-TabBar的使用说明,android内存优化面试
TabBar的定义TabBar在使用之前,首先需要熟悉他的定义属性,现在查看常用定义属性:const TabBar({Key key,@required this.tabs,//必须实现的,设置需要展示的tabs,最少需要两个this.controller,this.isScrollable = false,//是否需要滚动,true为需要this.indicatorColor,//选中下划线的颜色this.indicatorWeight = 2.0,//选中下划线的高度,值越大高度越高,
2021-11-23 18:40:44
259
原创 Flutter ListView播放视频列表(三),老师讲的真棒
播放的时候就涉及到了屏幕是横屏还是竖屏横屏代码为://横屏static void setHorizontal(){SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]);}竖屏代码://竖屏static void setVertical(){// 强制竖屏SystemChrome.setPreferredOrientations(
2021-11-23 18:38:03
616
原创 Flutter + MVP +Kotlin 实战,flutter开源项目apk下载
demo 里的是 Kotlin 版,但实现原理都是一样的。有兴趣的点下方链接:从 0 到 1,带你解剖 MVP 的神秘之处,并自己动手实现 MVP 3. FlutterFlutter,由 Google 在
2021-11-23 18:35:12
639
原创 Eclipse快捷键大全,全靠这份Android知识点PDF大全
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)Alt+Shift+I 合并变量(可能这
2021-11-23 18:31:56
143
原创 CopyOnWriteArrayList 你了解多少?,Android经典面试题详解
ArrayList类中的Iterator迭代器实现,源码内容:通过代码我们发现 Itr 是 ArrayList 中定义的一个私有内部类,每次调用next、remove方法时,都会调用checkForComodification方法,源码如下:/*修改次数检查/final void checkForComodification() {//检查List中的修改次数是否与迭代器类中的修改次数相等if (modCount != expectedModCount)
2021-11-23 18:28:46
348
原创 Cocos2d-x 3,移动终端软件开发课本
–4个标签的Taglocal kTagLabel1 = 0local kTagLabel2 = 1local kTagLabel3 = 2local kTagLabel4 = 3– 字体列表local fontList = {“fonts/A Damn Mess.ttf”,“fonts/Abberancy.ttf”,“fonts/Abduction.ttf”,“fonts/Paint Boy.ttf”,“fonts/Schwarzwald Regular.ttf”,“fon
2021-11-23 18:25:39
3053
原创 Activity-过渡动画-—-让切换更加炫酷,网易严选Android开发三面面经
例如,我要从 MainActivity 中启动 AnimationActivity,只需要在 MainActivity 中 startActivity(); 传入参数即可,代码如下:startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());第二步:在 AnimationActivity 中的 setContentView(); 方法前加入一行代码://在需要启动的 activity 中
2021-11-22 08:28:09
336
原创 35岁以后依然被公司抢着要?4面字节跳动,完虐面试官年薪70w,图形化app开发工具
自行学习交流直达链接:【点击获取】2.简历的准备简历是一个敲门砖,HR每天会有很多简历收到。简历如何让人眼前一亮,并且能一眼抓住关键信息:个人基本信息(姓名,电话,邮箱,毕业院校等),工作经理,技能点,一些亮点(比如六级证书,获奖等)。简历要简洁,层次分明。写完简历要在招聘网站上更新一下自己的简历。3.面试机会的各个渠道这次面试一共通过了3种渠道,一是朋友内推,二是猎头帮忙,三是通过boss或拉钩网投递。朋友内推: 在圈内首先要认识一些好友,各个厂商的员工,可以通过脉脉加好友,也可以通过技术交流.
2021-11-22 08:25:44
9380
1
原创 2021大厂Android面试高频100题最新汇总(附答案详解),androidsdk下载安装
前言现在越来越多的人应聘工作时都得先刷个几十百来道题,不刷题感觉都过不了面试。无论是前后端、移动开发,好像都得刷题,这么多人通过刷题过了面试,说明刷题对于找工作还是有帮助的。不过这其中有一个问题:很多人虽然为了找工作刷了题,但是却不理解公司为何要采取这样的方式来考察求职者。还有很多人为此愤愤不平:“我一个架构、移动开发工程师,你不问我项目经验、开发经验,反而来问我算法题,玩呢?”是的,仔细想想确实是这样,由于应届生没有工作项目经验,所以面试的时候多问一些算法题可以理解。但是对于一个工作好几年的老程
2021-11-22 08:23:02
240
原创 2020最新字节跳动技术五面(刚拿Offer):一面,2021Android笔试题总结
刚拿到字节offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习心得。希望能够帮助更多的小伙伴。我本科毕业于四川师范学院计算机系,刚毕业时也是小白,也是一步步成成起来的。需要提一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。二、字节一面一面是在上午9点多接到抖音的面试电话的,接到电话时相当非常兴奋、非常紧张的,毕竟是第一次这样的面试。有些问题已经记不清了,下面列出了一面问到的问题:一面主要问了计算机基础:1.自我介绍+
2021-11-22 08:20:26
796
原创 2019届应届毕业生Android秋招总结,已成功入职网易云音乐,androidstudio简易app实例
有没有学习什么新技术,有没有看今年的Google IO 大会。面试官看了我的博客,问了一些简单的问题金山WPS一面介绍一下Volley,okhttp,retrofitvolley的基本流程,OKhttp的拦截器链,retrofit的动态代理photoview如何实现Glide与Picasso区别如果让你设计图片加载框架,你如何设计(三级缓存机制)插件化,热修复,andfix原理,如何做到机型适配(native如何做到机型适配 我很慌啊~~~~)Hashmap原理,如何实现线程安全,Has
2021-11-22 08:14:33
910
原创 2014-2020我6年的Android开发之路,那些被大厂优化的同事,让我对未来有了深思
路径:技术为王的职业发展路线晋升轨迹:Android初级开发程序员—中级—高级–软件架构师–系统架构师–项目经理–首席技术官各阶段对于技能要素的要求:入门初级阶段:掌握Java基本知识(或任何其他面向对象语言),需要掌握Android SDK软件开发工具包,多看Android相关的文档,IDE (例如Eclipse),这些是必不可少的。顺便学习一下JavaScript脚本基础。掌握这些基本上已经可以算是入门了。晋升中级阶段:想晋升为到高级Android工程师至系统架构师的职位,很重要的一点就
2021-11-22 08:08:25
315
原创 16年,平凡而又收获的一年,android底层开发实战
原因,浅而明显,第一,一个人的精力是有限的,我们要注意劳逸结合;第二,以前我都是有午睡的习惯的,突然改变了习惯,肯定要有一段适应期。至于说到劳逸结合,高中的时候就深有体会,大学写编程的时候更是深深刻在心里。有时候,写编程,在调bug的时候,在哪里捣鼓了几个小时,终究是被它折服了,被它弄得心浮气躁。这时候不烦放下手头的工作,出去走走,感受一下大自然,放松一下头脑,接着回来工作,许多时候你会发现bug一下子就解决了。这个时候你通常我会感慨,我擦,我是一个傻逼,这么简单的问题竟然弄了这么久,心里头不禁也涌上来一
2021-11-22 08:05:15
448
原创 20分钟掌握Android Gradle,android视频开发的面试问题
task xxx << {}这样的语法等价于task xxxxxx.dolast {}你可以在任意位置新建一个名为build.gradle的文本,来练习上面讲述的task定义与依赖。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9rCa6pLz-1614069914710)(https://upload-images.jianshu.io/upload_images/24944255-70205e09a71a2008.png?imageMogr2/a
2021-11-21 00:50:55
657
原创 2020Android通用流行框架大全,安卓面试2020
名称描述Gson一个Java序列化/反序列化库,可以将JSON和java对象互相转换JacksonJackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象FastjsonJava上一个快速的JSON解析器/生成器HtmlPaser一种用来解析单个独立html或嵌套html的方式Jsoup一个以最好的DOM,CSS和jQuery解析html的库6. 数据库名称描述Or...
2021-11-21 00:35:44
200
原创 Android P 刘海屏适配全攻略,移动智能终端开发
对于有状态栏的页面,不会受到刘海屏特性的影响,因为刘海屏包含在状态栏中了;全屏显示的页面,系统刘海屏方案会对应用界面做下移处理,避开刘海区显示,这时会看到刘海区域变成一条黑边,完全看不到刘海了;已经适配Android P应用的全屏页面可以通过谷歌提供的适配方案使用刘海区,真正做到全屏显示。2.3 Android P中支持的凹口屏幕类型目前Android支持了三类凹口屏幕类型:边角显示屏凹口(斜刘海)、双显示屏凹口(刘海+胡子)、长型显示屏凹口(刘海),如下图所示:[外链图片转存失败,源站可能有.
2021-11-20 11:59:24
1383
原创 Android Ashmem匿名共享内存,android开发需要什么基础
Android 的 匿名共享内存(Ashmem) 基于 Linux 的共享内存,都是在临时文件系统(tmpfs)上创建虚拟文件,再映射到不同的进程。它可以让多个进程操作同一块内存区域,并且除了物理内存限制,没有其他大小限制。相对于 Linux 的共享内存,Ashmem 对内存的管理更加精细化,并且添加了互斥锁。Java 层在使用时需要用到 MemoryFile,它封装了 native 代码。 Java 层使用匿名共享内存的4个《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲
2021-11-20 11:56:58
201
原创 Activity的启动模式,音视频二次开发
standard:默认值,启动Activity都会重新创建一个Activity的实例进行入栈。此时Activity可能存在多个实例。singleTop:当Activity处于栈顶时,再启动此Activity,不会重新创建实例入栈,而是会使用已存在的实例。singleTask:根据taskAffinity去查找是否存在这个任务栈,默认情况下taskAffinity为应用package name,也就是应该默认创建的任务栈,之后在这个任务栈中查找是否存在Activity,当Activity在栈中已经存在..
2021-11-20 11:54:16
303
原创 Activity显示界面——说说View的那些理不清的关系,android开发计算器界面
之前说了,View相关的管理工作就交给窗管家,所以就直接调用到PhoneWindow的setContentView方法://Activity.javapublic void setContentView(@LayoutRes int layoutResID) {getWindow().setContentView(layoutResID);initWindowDecorActionBar();}然后就开始加载布局文件的工作了。但是考虑到一点,Activity是有不同的主题的,不同主题就有不同的
2021-11-20 11:51:41
174
原创 ActivityManagerService分析,Android开发知识点
}如果 当前的activity是从一个application启动的 , 也就是说参数caller!=null,此时的callingPid和callingUid可以从caller所处的进程中得出。[java] view plain copyProcessRecord callerApp = null;if (caller != null) {callerApp = mService..
2021-11-20 11:48:29
270
原创 A022-列表容器之ExpandableListView,墙都不扶就服你
android:layout_marginRight=“10dp”android:background="@color/listview_divider"android:visibility=“visible” />自定义Adapter- 继承BaseExpandableListAdapter并实现以下方法- getGroupCount(获取组项的个数)- getChildrenCount(获取子项个数)- getGroup(获取组对象)- getChild(获取子对象)- get
2021-11-20 11:45:48
480
原创 30秒上手新一代Http请求神器RxHttp,嵌入式音视频开发百度云
implementation ‘com.squareup.okhttp3:okhttp:4.9.0’ //rxhttp v2.2.2版本起,需要手动依赖okhttpkapt ‘com.github.liujingxing.rxhttp:rxhttp-compiler:2.6.0’ //生成RxHttp类,纯Java项目,请使用annotationProcessor代替kapt}2、可选android {defaultConfig {javaCompileOptions {annotationP
2021-11-20 11:42:56
354
原创 2020在项目中使用MVVM的正确打开方式,你没用过的船新版本,还不快学学
最近看到了几篇与 Jetpack MVVM 有关到文章,使我不禁也想淌一下这场混水。我是在 2017 年下半年接触的 Jetpack 的那套开发工具,并且后来一直将其作为开发的主要框架。在这段时间的使用过程中,我踩过一些坑,也积累了一些经验,为了将其推广到其它到项目中又专门封装出了一个库。当然,Jetpack 所提供的组件已经比较完善,我的工作只能算是锦上添花。下面我就介绍下,现在我是如何在项目中使用 Jetpack MVVM 的。1、后起之秀和黯然失色的 MVPMVP 非常强大,也是或者曾经是很多大公
2021-11-20 11:33:23
522
原创 Android 消息推送OnePush,实战解析
推送的消息一般是用户需要的或app希望用户知道的消息2.原理2.现今有哪些推送方式Cloud to Device Messaging,云端推送,是Android系统级别的消息推送服务(Google出品)基于Pull方式,应用程序隔固定时间主动与服务器进行连接并查询是否有新的消息SMS信令推送XMPP协议以上是现今的推送方式,基于以上方式国内形成了一系列的推送应用:手机厂商类:小米推送、华为推送。第三方平台类:友盟推送、极光推送、云巴(基于MQTT)BAT大厂的平
2021-11-19 13:02:22
1025
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅