Android
文章平均质量分 79
普通网友
这个作者很懒,什么都没留下…
展开
-
Android 面试总结 - Activity的启动流程,从思维图到基础再到深入
}} Activity#startActivityForResult(Intent, int)public void startActivityForResult(@RequiresPermission Intent intent, int requestCode) { startActivityForResult(intent, requestCode, null);} 调用 startActivityForResult 的重载方法publi...原创 2021-09-09 20:48:49 · 267 阅读 · 0 评论 -
Android 调用相机拍照,适配到Android 10(1),直接上干货
if (isAndroidQ) { // 适配android 10 photoUri = createImageUri(); } else { try { photoFile = createImageFile(); } catch (IOException e) { e.printStackTrace(); ...原创 2021-09-09 20:43:54 · 444 阅读 · 0 评论 -
Android 自定义 View 最少必要知识,互联网寒冬
2.4 封装有些控件可能在多个地方使用,如大多数 App 里面的底部 Tab,像这样的经常被用到的控件就可以通过自定义 View 将它们封装起来,以便在多个地方使用。3. 如何自定义 View?在说「如何自定义 View?」之前,我们需要知道「自定义 View 都包括哪些内容」?自定义 View 包括三部分内容:布局(Layout)绘制(Drawing)触摸反馈(Event Handling)布局阶段:确定 View 的位置和尺寸。绘制阶段:绘制 View 的内容。触摸反馈:确定用户原创 2021-09-09 20:40:49 · 348 阅读 · 0 评论 -
【阿里P8大牛教你Android入门之路,安卓开发面试书籍
然后再来学习一下官方文档:Resizable-arrayimplementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the原创 2021-09-08 13:56:54 · 174 阅读 · 0 评论 -
【闲来无事,腾讯T3大佬亲自教你
实现我们只需要对 iv_above 进行裁剪操作即可首先获得iv_above的bitmapbmAbove = ((BitmapDrawable)ivOrange.getDrawable()).getBitmap();对滚动进行监听:(实际上知乎的功能是对滑动方向进行判断后,直接开始进行动画,扇形半径并不跟滑动距离有关联,当滑动方向与上次的相反时,停止上次的动画,再reverse,这样做的好处就是在滑动时进行了最少的运算,避免了潜在的滑动卡顿,我还是直接关联扇形半径和滑动距离)原创 2021-09-08 13:55:14 · 124 阅读 · 0 评论 -
【开源项目,天呐
| 首页 | 体系 | 导航 || | | || :-: | :-: | :-: || 项目 | 我的 | 登录 |????你能学到=================================================================轻松上手小程序系列网络框架的封装定时器的使用页面参数传递banner轮图列表渲染下拉刷新、上拉加载view的显示与隐藏随机九宫格tab标签页的写法搜索功能转发功能原创 2021-09-08 13:53:39 · 413 阅读 · 0 评论 -
【开发经验,安卓开发权威指南
描述:一个Widget自己的数据变化时,触发state的方法实现功能:一个在数据改变时播放过渡动画的组件难度:⭐⭐⭐⭐描述:一个Widget收到事件后,触发child的state的方法实现功能:点击按钮让一个child开始倒计时或者发送请求难度:⭐⭐⭐⭐⭐我们平时写项目基本也就是上面这些需求了,只要学会实现这些事件与数据传递,就可以轻松写出任何项目了。使用回调传递事件使用简单的回调就可以实现这几个需求,这也是整个flutter的基础:如何改变一个state内的数据,以及如何改变一个widge原创 2021-09-08 13:52:06 · 115 阅读 · 0 评论 -
【建议收藏系列,面试篇
以往基于应用(application)的程序开发中,程序具有明确的边界,一个程序就是一个应用,一个应用为了实现功能可以采用开辟新线程甚至新进程来辅助,但是应用与应用之间不能复用资源和功能。而Android引入了基于组件开发的软件架构,虽然我们开发android程序,仍然使用一个apk工程一个Application的开发形式,但是对于Aplication的开发就用到了Activity、service等四大组件,其中的每一个组件,都是可以被跨应用复用的,这就是android的神奇之处。虽然组件可以跨应用被调原创 2021-09-08 13:48:47 · 94 阅读 · 0 评论 -
【干货,挑战大厂重燃激情
……内存优化内存抖动和内存泄漏内存大户Bitmap 内存优化Profile 内存监测工具Mat 大对象与泄漏检测耗电优化网络传输与数据存储优化网络传输与数据存储优化APK 大小优化屏幕适配……耗电优化Doze&StandbyBattery HistorianJobSchedulerWorkManager网络传输与数据存储优化google 序列化工具 protobuf7z 极限压缩……APK 大小优化APK 瘦身微信资源混淆原理.原创 2021-09-08 13:47:10 · 65 阅读 · 0 评论 -
Android开发面试简历,成功入职阿里
3.熟练掌握Android动态加载技术,包括掌握动态加载技术框架网易云换肤以及手写插件化框架。4.掌握OkHttp,Retrofit,Glide,ButterKnife,IOC,ARouter,AndFix,EventBus,LiveDataBus等一线互联网框架和线下行业最流行的框架的核心原理以及能够手写打造简易版。5.能够熟练使用MVC,MVP,MVVM等架构模式进行项目开发6.熟练掌握第三方框架的使用,比如微信相关API,支付宝相关API,推送相关API,shareSDK,银联API等。7.熟原创 2021-09-07 16:58:07 · 250 阅读 · 0 评论 -
Android开发面试简历(1),音视频开发需要哪些知识
年龄:XX学历:本科工作经验:8年开发经验居住地:XXXX2.求职意向求职意向:Android软件开发工程师目前状态:离职3.工作经验2012/10– 2014/05xx网络科技有限公司 | Android软件开发工程师2014/11– 2016/05xxxxxx网络科技有限公司 | Android软件开发工程师2016/06– 2019/02xxx网络科技有限公司 | Android软件开发工程师兼后台开发兼平面设计2019/02– 2020/02湖南XXXXXXXXXXXX原创 2021-09-07 16:56:17 · 497 阅读 · 0 评论 -
Android开发越来越式微了吗?,爆火的Android面试题
小程序的上手并不难,同时还有诸如 uni-app 、taro、chameleon 可以帮助上手。通过学习 React-Native 来认识前端开发,学习 React、CSS、JavaScript 等相关能力,只要你会 RN 其实等同于你已经学会了小程序。了解学习诸如 Flutter 、 PWA 、WebAssembly 等新的技术迭代。当然,最后不..原创 2021-09-07 16:54:48 · 242 阅读 · 0 评论 -
Android开发者们跳槽面试,一定要看看这篇文章,已开源下载
面试首先要提到的就是简历,简历这个东西真的是一个很深奥的事情,为什么深奥,其实是对像和我这样的人深奥:学历不好、工作经历不好。当然,这和目前技术研发人才需求的大环境也有关系,而且上述两点会越来越影响简历的通过性。说一个真实的事情大家就有概念了,这是一个前同事私下告诉我的,他比我先一年多离开公司,然后到了一个大厂(一个大电商),他现在也负责招聘面试,如果社招简历不是硕士,都会往后排排,虽然这不是公司规定,但是他们实际就是这样操作的。是不是很吓人?他自己都觉得吓人。说了这么多,那怎么办呢?学历不好、工作经历不好原创 2021-09-07 16:53:05 · 162 阅读 · 0 评论 -
Android开发北漂-8-年,飘飘飘够了,踩坑了
20年的冬真冷,大家都在说裁员,其实裁员一直都在,只是20年的确多点。android 12年了,已经积累了太多的技术,知识点,技巧,思路,这些前人都会了,并且正在创造新的思路出来,对于广大的底层 coder 来说,仅仅是追赶就很难了,更别提去自己创造了,但是现实时我们尝尝学习了很多开源框架,落到实处就是仅仅会用而已,不说源码看没看过,甚至原理都不知道,不知道作者用什么技术实现的,这点就是广大 coder 的现状,没有成长。在来说大环境,在寒冷的冬天,还是有很多公司再招聘。在移动设备深入人心的今天,大家谁能原创 2021-09-07 16:49:44 · 736 阅读 · 0 评论 -
Android开发前景及现状分析,小白以及计算机类学生的福音
在之前的内侧版本中,安卓都是一机器人命名的形式来给安卓命名,这些名字分别是:阿童木(AndroidBeta),发条机器人(Android 1.0),之后经过谷歌更改为代号的命名形式:甜点命名法(这类命名按照26个字母数序:纸杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松饼(Android 2.0/2.1),冻酸奶(Android 2.2),姜饼(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果冻豆(Jelly Bean,Androi原创 2021-09-07 16:48:14 · 3070 阅读 · 0 评论 -
Android程序员必备的六大顶级开发工具,快加入你的清单,看完没有不懂的
如果你认为B4A仅适用于对Android应用开发不太了解的新手,请再想一想。你可以用B4A做几乎所有用Java做的事情,加分项是它比Java快。###LEAKCANARYLeakCanary帮助指出程序员犯的错误。通过这种方式,它可以防止代码的“泄漏”。构建此开发人员工具的目的是为开发人员提供最舒适的GUI。该工具是自动化的,因此它会在遇到问题时通知你。它为开发人员提供了完整的堆栈跟踪,可立即为内存泄漏提供即时修复。####FABRIC这是一个非常有用的Android开发工具,可以快速开发,部署和.原创 2021-09-06 16:59:32 · 1686 阅读 · 0 评论 -
Android程序员入职前复习攻略(附,食堂大妈看完都学会了
那么好 现在,你们的机会来了!!!学习路线以及思路大家可以先从下面几个方面来准备技术面试:如下示例,非常详细!!!泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升原创 2021-09-06 16:57:45 · 202 阅读 · 0 评论 -
Android知识笔记:记录一个至今仍有很多人写错的技术点,附高频面试题合集
}}}很多同学都喜欢这么写,然后还经常通过adapter.getItem(pos)或fragmentList.get(pos)去获取对应的 fragment。**其实,这种写法是存在很大的问题的!**我们引出几个问题来慢慢回答:1. 这种写法在什么情况下,会造成什么异常(问题以及对应的场景)? 2. 造成该问题的原因是(原理)? 3. 更好的写法应该是什么(提供根据 position 获取对应 ...原创 2021-09-06 16:54:31 · 113 阅读 · 0 评论 -
Android点将台:颜值担当[-Activity-],Android学习教程
3:singleTask模式:对象唯一栈整个栈中没有相同的实例,两次相同实例之间的Activity会被杀死(够霸道,我喜欢)测试:Activity1为standard, Activity2 为singleTask[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CCYgBHw3-1630918359666)(https://user-gold-cdn.xitu.io/2019/4/23/16a4a95cb8af191c?imageView2/0/w/1280/h/96.原创 2021-09-06 16:52:51 · 750 阅读 · 0 评论 -
Android校招:没想到吧,2021Android架构面试指南
三面(~45min)自我介绍介绍一下实习做的工作,是自己完成的吗,遇到什么困难,成果怎么样RecyclerView怎么实现的item缓存,跟ListView有什么区别(因为项目用到了所以被问了)写题:1233. 删除子文件夹设计题:微信的联系人列表功能(1)设计添加联系人的API(从可能的方式,数据形式,接口参数方面回答)(2)怎么实现联系人列表的UI(答的RecyclerView)(3)怎么实现A-Z首字母的快速定位功能是自学的Android吗,为什么选择这个方向原创 2021-09-06 16:49:43 · 216 阅读 · 0 评论 -
Android常见Crash分类和介绍,完整PDF
1、ANR in - ANR问题的通用标签2、NullPointerException - 空指针异常3、IndexOutOfBoundsException - 数组、集合等越界4、IllegalArgumentException - 不合法的参数异常,可能是使用函数或者启动服务等等参数设置错误等5、java.lang.IllegalStateException - “非法的状态”,可能是对于API的时序使用错误,比如start后立即 stop,其实异步的Start还没有初始化完成,但是你瞬间就St原创 2021-09-05 16:10:22 · 887 阅读 · 0 评论 -
Android布局优化:include-,冲刺7天拿下Offer
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="返回按钮" /> <TextView android:id="@+id/title" a...原创 2021-09-05 16:08:51 · 255 阅读 · 0 评论 -
Android布局优化技巧大盘点,如何成为杰出的程序员
Log.i(“TAG”, name + " cost: " + (System.currentTimeMillis() - time)); return view; }@Nullable @Override  原创 2021-09-05 16:07:09 · 175 阅读 · 0 评论 -
Android工程化实践:模块化,太完整了
中型项目:业务进一步增长,单纯搞Module Library已经不好用了,这个时间插件化框架很火,很强大,但是问题也很多,我们最终采用了Router的方式实现了一套伪模块化方案。大型项目:时间来到了现在,公司业务有了爆发式的增长,公司的应用也有原来的2个变成了5个,而且还有很多定制App、影子App,模块App等需求提交给我们,在上一套伪模块化方案的基础 上,我们要实现一套真正的模块化方案。大风车工程架构如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L1.原创 2021-09-05 16:05:27 · 499 阅读 · 0 评论 -
Android实现多语言so easy(1),不得不服
* 读取boolean类型数据 * * @param key * @param defValue * @return */ public boolean getBoolean(String key, boolean defValue) { return mSp.getBoolean(key, defValue); } /** * 读取boolean类型数据 * * @param key * @param defValue ..原创 2021-09-05 16:02:22 · 192 阅读 · 0 评论 -
Android程序员想进大厂?算法很重要(1),面经解析
在统计学和机器学习领域,线性回归可能是最广为人知也最易理解的算法之一。预测建模主要关注的是在牺牲可解释性的情况下,尽可能最小化模型误差或做出最准确的预测。我们将借鉴、重用来自许多其它领域的算法(包括统计学)来实现这些目标。线性回归模型被表示为一个方程式,它为输入变量找到特定的权重(即系数 B),进而描述一条最佳拟合了输入变量(x)和输出变量(y)之间关系的直线。例如:y = B0 + B1 * x我们将在给定输入值 x 的条件下预测 y,线性回归学习算法的目的是找到系数 B0 和 B1 的值。我原创 2021-09-03 15:47:25 · 122 阅读 · 0 评论 -
Android程序员实习,大厂Android核心面试题出炉
4.掌握网络通信中httpClient和HttpUrlConnection基本使用,任何网络框架都是从最简单的写起,所以这个必须要知道。5.熟悉json解析,JsonObject,JsonArray等等的各种使用。6.会导入第三方库。7.线程(Thread,Runnable)的使用。8.主线程和其他线程的交互(Handler,AsyncTask)。基本待遇(如果面试双方比较满意,到了谈论薪资的时候,可以取中间值8000)任职要求:1、熟悉常用的数据结构、算法及设计模式2、熟悉Androi原创 2021-09-03 15:45:43 · 191 阅读 · 0 评论 -
Android程序员二本出身,阿里架构师经验分享
##01、终于步入大学我既没有跨过山和大海,也没有穿过人山人海,我就是我,一个2020届普通本科大学生。身为读者的你,关注了我,自然是想获取知识与经验,我所能分享的,也只有我的一些知识与经历。2016年,我大一刚入学,边学着入门级的java语言,边对未来迷茫着。面试学生会,失败。面试新媒体部,失败。本以为连连失败的我已经输在了大学的起跑线上,意外让我面试了一个IT编程工作室,成功。我感谢工作室里带我入门的学长们,让我知道了Java语言可以干什么,Android可以干什么,促使我迈入Android世原创 2021-09-03 15:44:04 · 220 阅读 · 0 评论 -
Android研发去腾讯面了五轮,2021最新版
发帖人表示,因原 公司3月解散 了,不得已要重新找工作。这次在腾讯面试的是 移动端Android开发 ,微视,通过boss投了简历,虽然面试了五轮,但面委挂了。有腾讯的大佬给他分析说,可能是背景不好,以前都是无名小公司,尔后自己加微信问hr自己挂的原因,hr说是过往项目不好。最后不死心的问hr,您看我还有机会吗?反被拉黑了。虽然三个月内也有不少小公司的offer,但是都拒绝了,已经不考虑小公司了。此外,发帖人也给大家提供了一些简单的面试经历过程:前三轮基础+算法,在牛客上在线撸代码。第四轮问项目经验和原创 2021-09-03 15:42:35 · 133 阅读 · 0 评论 -
Android电量优化全解析 ,赶快收藏备战金九银十
作为开发者,我们很想知道我的应用执行的哪些任务消耗的电量是最多的?这个问题确实会很棘手。因为电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情(所以很多设备都把这个监测电量的功能阉割掉了)。唯一可行的方案是使用第三方监测电量的设备,这样才能够获取到真实的电量消耗(因为第三方硬件监测的时候是用的自己的供电而不是用的手机的电量)。耗电情况,例如:打开屏幕,所有要使用CPU/GPU工作的动作都会唤醒屏幕,都会消耗电量。这和应用程序唤醒设备还不一样。比如使用叫醒闹钟(wake c原创 2021-09-03 15:41:00 · 518 阅读 · 0 评论 -
Android生命周期组件Lifecycle使用详解,程序员的中年危机
public class TestActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test);}@Overrideprotected void onStart() { super.onSta原创 2021-09-03 15:39:20 · 901 阅读 · 0 评论 -
Android面经分享:渣本毕业四年面试多家大厂被拒,轻松入门flutter
jvm虚拟机,堆和栈的结构,栈帧,JMM组件化注意点,组件间通信机制线程安全的单例模式有哪几种熟悉的设计模式公司三MVC,MVP,MVVMActivity和fragment生命周期区别,fragment正常添加和viewpager添加的区别,fragment懒加载原理,FragmentPagerAdapter 和 FragmentStatePagerAdapter热修复和插件化友盟bug统计,混淆后怎么定位bug。没接入热修复的APP中,上线后遇到bug怎么解决view绘制原理 (可.原创 2021-09-02 15:30:14 · 344 阅读 · 0 评论 -
Android阿面试积累,讲的真透彻
基本上稍微大点的公司都会问到,不过我的回答始终如一:我只能看懂C的代码,项目中没有用过JNI,当然这个属于加分项,因为我当时的选择是把我用过熟悉的东西研究地滚瓜烂熟,而不是在自己平时很少接触到的东西上面搞个一知半解。BinderBinder系列,各种AMS,WMS,PWS,常问到的有APP的启动流程,然后两个Activity相互跳转的时候的生命周期,Activity的生命周期。心态不要想着什么都会,那样不现实,比如说我对Binder机制以及热修复,插件化这块儿确实了解地比较浅显,也跟高德,爱奇艺等公原创 2021-09-02 15:28:39 · 433 阅读 · 0 评论 -
Android逆向之路---脱壳360加固原理解析,2021Android面经
//api为27或27版本的执行下面一行,进行脱壳 OreoDump.init(lpparam); } else { //低版本api执行下面一行进行脱壳 LowSdkDump.init(lpparam,type); } }}}已经加好注释,值得注意的就是,此处程序有分叉了,分别是 OreoDump.init()和LowSdkDump.init() 我们先看O...原创 2021-09-02 15:26:54 · 1554 阅读 · 0 评论 -
Android进阶:十,请把这些学完再去面试
我们知道自己开发视频播放器内核肯定是不现实的,这需要一定的技术成本,单个人很难达到,所以我们就选择一个最受欢迎的开源的内核即可:bilibili开源的视频播放器:ijkplayer###2.2.视频播放器视频播放这块需要给大家普及两个知识点:2.21.SurfaceView先来介绍一下大部分软件如何解析一段视频流。首先它需要先确定视频的格式,这个和解码相关,不同的格式视频编码不同,不是这里的重点。知道了视频的编码格式后,再通过编码格式进行解码,最后得到一帧一帧的图像,并把这些图像快速的显示在界面上,原创 2021-09-02 15:25:07 · 137 阅读 · 0 评论 -
Dagger2在SystemUI中的应用,android组件化和插件化
在SystemUIApplication onCreate时回调 ContextAvailableCallback, 构建SystemUIFactory,并对它进行初始化src/com/android/systemui/SystemUIFactory.javapublic static void createFromConfig(Context context, boolean fromTest) { if (mFactory != null) { return; }原创 2021-09-02 00:31:53 · 623 阅读 · 0 评论 -
Dagger2和它在SystemUI上的应用,Android社招面经分享
@Inject Lazy<CommandQueue> mCommandQueue;@Inject Lazy<Recents> mRecents;@Inject Lazy<StatusBar> mStatusBar;@Inject Lazy<DisplayController> mDisplayController;@Inject Lazy<SystemWindows> mSystemWindows;}后面以StatusBar实例的.原创 2021-09-02 00:30:07 · 260 阅读 · 0 评论 -
cmake使用教程(四)-文件生成器,阿里架构师深入讲解Android开发
}// open the output fileFILE *fout = fopen(argv[1],“w”);if (!fout){return 1;}// create a source file with a table of square rootsfprintf(fout,“double sqrtTable[] = {\n”);for (i = 0; i < 10; ++i){result = sqrt(static_cast(i));fprintf(fout,".原创 2021-09-02 00:28:32 · 261 阅读 · 0 评论 -
BAT安卓工程师面试流程解析+还原最真实最完整的一线公司面试题,【性能优化实战】
BAT技术一般分为 校招和 社招两个方向。校招一般去定点的211,985大学去招聘,并且是拼证书和笔试题的,像我这种野鸡大学的人来说校招是我么无法达到的境界(说白了也就那样,这个社会干啥事你说不得有个好干爹啊),所以校招呢 我今天就不谈了,因为我也没经历过。社招一般面向全国本科以上2年以上计算机相关专业的(可能现在已经要求到3年+了),但是能力不错的可以放宽到大专和其他专业,但是简历是Hr选的 硬性条件不过,谁知道你能力好呢,所以这点这也是扯犊子的。 至于你达到学历要求了,经验要求了原创 2021-09-02 00:27:09 · 156 阅读 · 0 评论 -
Base64 的原理、实现及应用,深入浅出安卓开发
Base64是把3个字节变成4个可打印字符,所以Base64编码后的字符串一定能被4整除(不算用作后缀的等号);等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,Base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;严格来说Base64不能算是一种加密,只能说是编码转换。二、Base64解码原理解码原理是将4个字节转换成3个字节.先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位,这样就.原创 2021-09-02 00:25:21 · 249 阅读 · 0 评论