- 博客(15)
- 收藏
- 关注
原创 我的Android面试;OPPO外包+百度+平安三面+腾讯三面(offer
本来一面完了就让我等着二面的,等了十分钟后跟我说二面面试官暂时不在,等下次再约时间,出门等了10分钟的公交,离家还有20分钟的时候,又给我打电话让我回去参加第二面,然后就没去了,太折腾人。
2024-05-18 19:47:32
698
原创 字节跳动技术整理,一文秒懂,Flutter 跨平台演进及架构
RN、Weex均使用JavaScript作为编程语言,JavaScript作为前端开发语言,在跨平台开发中可谓大放异彩,利用web技术不仅能开发出网站,也可以开发手机端web应用和移动端应用程序,似有一统三界(Android、iOS、Web)的趋势,这就是大家常说的“大前端”时代。这些技术方案流畅度不太好,平台一致性较差,至今还没能大面积取代原生开发。Flutter是以Dart语言编写,开发体验更接近客户端,从大家使用反馈来看也是如此,Flutter开发环境这一套的流程对于前端开发来说并不太友好。
2024-05-18 19:46:56
1162
原创 如何看待-Android-面试却是-Java-面试官?
对于一些状态管理比较复杂的对象,例如地图SDK的未初始化、初始化中、初始化失败、重复初始化这些状态分支没有完整的覆盖,只跟着Demo中的例子,仅仅处理了假定成功的运行逻辑,其他的逻辑分支被无视,导致实际运行时sdk状态一旦fall到了代码没处理的分支中时,程序就hang掉了,这些个问题通过黑盒测试很难发现。在朋友公司的代码库中,单例模式的实现千奇百怪。跟开发人员交流发现,他们很迷信框架里的一些写法,觉得那是绝对正确的,每个人都这么做就是对的,至于为什么只么做,则没有做过多的思考,也不会考虑适用性。
2024-05-18 19:46:19
330
原创 EventBus使用之基础
虽然名字是BackgroundThread,事件处理是在后台线程,但事件处理时间还是不应该太长,因为如果发送事件的线程是后台线程,会直接在当前后台线程执行事件;如果当前线程是UI线程,事件会被加到一个队列中,由一个线程依次处理这些事件,如果某个事件处理时间太长,会阻塞后面的事件的派发或处理。onEventAsync:事件处理会在单独的线程中执行,主要用于在后台线程中执行耗时操作,每个事件会开启一个线程,但最好限制线程的数目。//事件3发送者:在子线程循环发送。//事件1发送者:在主线程发送。
2024-05-18 19:14:28
869
原创 Android:你要了解的自定义View基础概念都在这里了!
外链图片转存失败(img-7adRxaFg-1569313524227)(https://upload-images.jianshu.io/upload_images/15679108-b00be1083de973c9?[外链图片转存失败(img-N4wKvnI3-1569313524252)(https://upload-images.jianshu.io/upload_images/15679108-2ef48e62ee3a713c?//获取子View右下角距父View左侧的距离。
2024-05-18 19:13:52
848
原创 Android面试速查手册:Android常用开源框架原理
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。Reference引用的对象被回收时,Reference 对象将被添加到 ReferenceQueue中,前提是构造 Reference 时,参数中有 ReferenceQueue。如果 obj 对象被回收了,那么 queue 将添加 r,那么我们可以查找队列,如果有r,则证明 obj 对象被回收了,监控完成。使用发布/订阅事件总线框架,基于观察者模式,将事件的接收者和发送者分开,简化了组件之间的通信,使用简单、效率高、体积小。
2024-05-18 19:13:15
937
原创 Android-Studio-4-0-最新进展,这几个新功能可太牛逼了!
IDE 内置了很多简写代码指令模版,帮助我们快速使用,同时支持自定义插入,看了这次分享,才发现自己对 Android Studio 的使用还停留在会用的阶段,从来没有深入研究过,例如我最近才发现可以使用 File → New → Import Sample 查看官方提供了最佳实践代码,有 AAC 架构、有动画、有 CameraX、有 NDK 各种分类应有尽有,评论告诉我,我应该不说最后一个知道这个功能的吧。三者的预览界面都是一样的,分三种模式:编辑、预览、编辑+预览。如果你有需要的话,可以。
2024-05-18 19:06:30
951
原创 Android-activity之间传值
但另一方面,由于Activity过于的独立,它们之间的数据共享,成为一个麻烦的事情。再则,Activity之间,维系的是一种线性关系,当我想把一份数据,从队尾一级级传到队头的话,自己历经磨难不提,会把中间所有的Activity都搭上,他们明明自己可能不需要这份数据,也得拿着搁着,为他人做嫁衣裳,不惆怅都不行;从A到B的传输,看上去是一个直连,但其实,Intent都是要经由系统核心层去分析调度的,这个操作,跨越了进程边界,自然而然,其中的数据,就是需要序列化和反序列化的,而不可以仅通过一个指针就倒腾过去了。
2024-05-18 19:05:54
448
原创 Android---教你如何用三十分钟在安卓上开发一个微笑抓拍神器
华为HMS的kit开发前准备工作都差不多,无非就是添加maven依赖,引入SDK。这个主要是用来模型更新的,后面算法有了优化,可以自动下载到手机里面更新。// 引入人脸检测能力包。// 引入基础SDK。
2024-05-18 19:05:17
565
原创 Android 开发三年,跳槽大厂无望,意外获得《Android面试宝典》助我跳槽字节、薪资翻倍_安卓系统开发为什么不好跳槽
如果你正准备在年后面试或者打算跳槽,我相信一定会对你有很大帮助。由于篇幅原因,只展示局部截图,
2024-05-18 19:04:39
386
原创 Android APP应用启动过程分析_android系统fork一个进程到application创建中间做了什么
在Android中,所有应用都是一个独立的进程。每个应用进程都是由Zygote进程fork出来的。应用启动是一个跨进程的复杂工作,应用启动流程主要是围绕着SystemServer的ActivityManagerService和应用进程的ActivityThread展开的。APP应用的启动流程内容比较多,可以通过Launcher响应屏幕点击、APP进程的创建、Application初始化、UI布局和绘制这四部分来理解。
2024-05-18 18:58:37
768
原创 Android AIDL 传递对象(Parceable)
/必须提供一个名为CREATOR的static final属性 该属性需要实现android.os.Parcelable.Creator接口@Override@Overridethis.id=id;@Override接下来看 writeToParcel 和 readFromParcel 方法,需要注意的是 writeToParcel 和 readFromParcel 方法读写的顺序是一一对应的。@Override。
2024-05-18 18:58:00
1008
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人