致Android开发工程师:过了笔试,千万别栽在自己最擅长得技术面试上——70道Android技术面试题分享

HDMI协议介绍(二)--DataIsland Packets 前文简单介绍了HDMI传输的三个周期:控制周期、DataIsland周期和Video周期。DataIsland传输音频和辅助数据,这些数据以Packet的形式传输。本文简单介绍DataIsland Packet。 阅读详情

前言

想进一线互联网大企业,辛辛苦苦获得了面试机会,过了笔试,然后却在自己最擅长的技术面试中败北;实在可惜,也有点不值,对自己的辛苦付出不值。那么今天笔者就给大家分享Android70道技术面试题,帮你绕过那些技术面的坑!

为了能够在面试回答中优雅而不失体面回答面试考点,本文借鉴了不同平台对知识点的描述。

如有侵权请联系我
文章的不足和错误请指正,好的建议也不要吝啬,我都会采纳并更正

Android大厂中高级面试题

正文[技术面试题]

1、Activity生命周期?

onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy()

2、Service生命周期?

service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。不同的启动方式他们的生命周期是不一样.

通过startService()这种方式启动的service,生命周期是这样:调用startService() --> onCreate()–> onStartConmon()–> onDestroy()。这种方式启动的话,需要注意一下几个问题,第一:当我们通过startService被调用以后,多次在调用startService(),onCreate()方法也只会被调用一次,而onStartConmon()会被多次调用当我们调用stopService()的时候,onDestroy()就会被调用,从而销毁服务。第二:当我们通过startService启动时候,通过intent传值,在onStartConmon()方法中获取值的时候,一定要先判断intent是否为null。

通过bindService()方式进行绑定,这种方式绑定service,生命周期走法:bindService–>onCreate()–>onBind()–>unBind()–>onDestroy() bingservice 这种方式进行启动service好处是更加便利activity中操作service,比如加入service中有几个方法,a,b ,如果要在activity中调用,在需要在activity获取ServiceConnection对象,通过ServiceConnection来获取service中内部类的类对象,然后通过这个类对象就可以调用类中的方法,当然这个类需要继承Binder对象

3、Activity的启动过程(不要回答生命周期)

app启动的过程有两种情况,第一种是从桌面launcher上点击相应的应用图标,第二种是在activity中通过调用startActivity来启动一个新的activity。

我们创建一个新的项目,默认的根activity都是MainActivity,而所有的activity都是保存在堆栈中的,我们启动一个新的activity就会放在上一个activity上面,而我们从桌面点击应用图标的时候,由于launcher本身也是一个应用,当我们点击图标的时候,系统就会调用startActivitySately(),一般情况下,我们所启动的activity的相关信息都会保存在intent中,比如action,category等等。我们在安装这个应用的时候,系统也会启动一个PackaManagerService的管理服务,这个管理服务会对AndroidManifest.xml文件进行解析,从而得到应用程序中的相关信息,比如service,activity,Broadcast等等,然后获得相关组件的信息。当我们点击应用图标的时候,就会调用startActivitySately()方法,而这个方法内部则是调用startActivty(),而startActivity()方法最终还是会调用startActivityForResult()这个方法。而在startActivityForResult()这个方法。因为startActivityForResult()方法是有返回结果的,所以系统就直接给一个-1,就表示不需要结果返回了。而startActivityForResult()这个方法实际是通过Instrumentation类中的execStartActivity()方法来启动activity,Instrumentation这个类主要作用就是监控程序和系统之间的交互。而在这个execStartActivity()方法中会获取ActivityManagerService的代理对象,通过这个代理对象进行启动activity。启动会就会调用一个checkStartActivityResult()方法,如果说没有在配置清单中配置有这个组件,就会在这个方法中抛出异常了。当然最后是调用的是Application.scheduleLaunchActivity()进行启动activity,而这个方法中通过获取得到一个ActivityClientRecord对象,而这个ActivityClientRecord通过handler来进行消息的发送,系统内部会将每一个activity组件使用ActivityClientRecord对象来进行描述,而ActivityClientRecord对象中保存有一个LoaderApk对象,通过这个对象调用handleLaunchActivity来启动activity组件,而页面的生命周期方法也就是在这个方法中进行调用。

4、Broadcast注册方式与区别

此处延伸:什么情况下用动态注册

Broadcast广播,注册方式主要有两种.

第一种是静态注册,也可成为常驻型广播,这种广播需要在Androidmanifest.xml中进行注册,这中方式注册的广播,不受页面生命周期的影响,即使退出了页面,也可以收到广播这种广播一般用于想开机自启动啊等等,由于这种注册的方式的广播是常驻型广播,所以会占用CPU的资源。

第二种是动态注册,而动态注册的话,是在代码中注册的,这种注册方式也叫非常驻型广播,收到生命周期的影响,退出页面后,就不会收到广播,我们通常运用在更新UI方面。这种注册方式优先级较高。最后需要解绑,否会会内存泄露

广播是分为有序广播和无序广播。

5、HttpClient与HttpUrlConnection的区别

此处延伸:Volley里用的哪种请求方式(2.3前HttpClient,2.3后HttpUrlConnection)

首先HttpClient和HttpUrlConnection 这两种方式都支持Https协议,都是以流的形式进行上传或者下载数据,也可以说是以流的形式进行数据的传输,还有ipv6,以及连接池等功能。HttpClient这个拥有非常多的API,所以如果想要进行扩展的话,并且不破坏它的兼容性的话,很难进行扩展,也就是这个原因,Google在Android6.0的时候,直接就弃用了这个HttpClient.

而HttpUrlConnection相对来说就是比较轻量级了,API比较少,容易扩展,并且能够满足Android大部分的数据传输。比较经典的一个框架volley,在2.3版本以前都是使用HttpClient,在2.3以后就使用了HttpUrlConnection。

6、讲解一下Context

Context是一个抽象基类。在翻译为上下文,也可以理解为环境,是提供一些程序的运行环境基础信息。Context下有两个子类,ContextWrapper是上下文功能的封装类,而ContextImpl则是上下文功能的实现类。而ContextWrapper又有三个直接的子类, ContextThemeWrapper、Service和Application。其中,ContextThemeWrapper是一个带主题的封装类,而它有一个直接子类就是Activity,所以Activity和Service以及Application的Context是不一样的,只有Activity需要主题,Service不需要主题。Context一共有三种类型,分别是Application、Activity和Service。这三个类虽然分别各种承担着不同的作用,但它们都属于Context的一种,而它们具体Context的功能则是由ContextImpl类去实现的,因此在绝大多数场景下,Activity、Service和Application这三种类型的Context都是可以通用的。不过有几种场景比较特殊,比如启动Activity,还有弹出Dialog。出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。而Dialog则必须在一个Activity上面弹出(除非是System Alert类型的Dialog),因此在这种场景下,我们只能使用Activity类型的Context,否则将会出错。

getApplicationContext()和getApplication()方法得到的对象都是同一个application对象,只是对象的类型不一样。

Context数量 = Activity数量 + Service数量 + 1 (1为Application)

7、理解Activity,View,Window三者关系

这个问题真的很不好回答。所以这里先来个算是比较恰当的比喻来形容下它们的关系吧。Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)LayoutInflater像剪刀,Xml配置像窗花图纸。

1:Activity构造的时候会初始化一个Window,准确的说是PhoneWindow。

2:这个PhoneWindow有一个“ViewRoot”,这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。

3:“ViewRoot”通过addView方法来一个个的添加View。比如TextView,Button等

4:这些View的事件监听,是由WindowManagerService来接受消息,并且回调Activity函数。比如onClickListener,onKeyDown等。

10、四种LaunchMode及其使用场景

此处延伸:栈(First In Last Out)与队列(First In First Out)的区别

8、保存Activity状态

onSaveInstanceState(Bundle)会在activity转入后台状态之前被调用,也就是onStop()方法之前,onPause方法之后被调用;

9、Android中的几种动画

帧动画:指通过指定每一帧的图片和播放时间,有序的进行播放而形成动画效果,比如想听的律动条。

补间动画:指通过指定View的初始状态、变化时间、方式,通过一系列的算法去进行图形变换,从而形成动画效果,主要有Alpha、Scale、Translate、Rotate四种效果。注意:只是在视图层实现了动画效果,并没有真正改变View的属性,比如滑动列表,改变标题栏的透明度。

属性动画:在Android3.0的时候才支持,通过不断的改变View的属性,不断的重绘而形成动画效果。相比于视图动画,View的属性是真正改变了。比如view的旋转,放大,缩小。

10、Android中跨进程通讯的几种方式

Android 跨进程通信,像intent,contentProvider,广播,service都可以跨进程通信。

intent:这种跨进程方式并不是访问内存的形式,它需要传递一个uri,比如说打电话。

contentProvider:这种形式,是使用数据共享的形式进行数据共享。

service:远程服务,aidl

其他Android面试题

Activity

11、onSaveInstanceState(),onRestoreInstanceState的掉用时机
12、activity的启动模式和使用场景
13、Activity A跳转Activity B,再按返回键,生命周期执行的顺序
14、横竖屏切换,按home键,按返回键,锁屏与解锁屏幕,跳转透明Activity界面,启动一个 Theme 为 Dialog 的 Activity,弹出Dialog时Activity的生命周期
15、onStart 和 onResume、onPause 和 onStop 的区别
16、Activity之间传递数据的方式Intent是否有大小限制,如果传递的数据量偏大,有哪些方案
17、Activity的onNewIntent()方法什么时候执行
18、显示启动和隐式启动
19、scheme使用场景,协议格式,如何使用
20、ANR 的四种场景
21、onCreate和onRestoreInstance方法中恢复数据时的区别
22、activty间传递数据的方式
23、跨App启动Activity的方式,注意事项
24、Activity任务栈是什么
25、有哪些Activity常用的标记位Flags
26、Activity的数据是怎么保存的,进程被Kill后,保存的数据怎么恢复的

Service

26、service 的生命周期,两种启动方式的区别
27、Service与Activity怎么实现通信
28、IntentService是什么,IntentService原理,应用场景及其与Service的区别
29、Service 的 onStartCommand 方法有几种返回值?各代表什么意思?
30、bindService和startService混合使用的生命周期以及怎么关闭

BroadcastReceiver

31、广播的分类和使用场景
32、广播的两种注册方式的区别
33、广播发送和接收的原理
34、本地广播和全局广播的区别

ContentProvider

35、什么是ContentProvider及其使用
36、ContentProvider,ContentResolver,ContentObserver之间的关系
37、ContentProvider的实现原理
38、ContentProvider的优点
39、Uri 是什么

Handler

40、Handler的实现原理
41、子线程中能不能直接new一个Handler,为什么主线程可以
42、Handler导致的内存泄露原因及其解决方案
43、一个线程可以有几个Handler,几个Looper,几个MessageQueue对象
44、Message对象创建的方式有哪些 & 区别
45、Handler 有哪些发送消息的方法
46、Handler的post与sendMessage的区别和应用场景
47、handler postDealy后消息队列有什么变化,假设先 postDelay 10s, 再postDelay 1s, 怎么处理这2条消息sendMessageDelayed-sendMessageAtTime-sendMessage
48、MessageQueue是什么数据结构
49、Handler怎么做到的一个线程对应一个Looper,如何保证只有一个MessageQueue ThreadLocal在Handler机制中的作用
50、HandlerThread是什么 & 好处 &原理 & 使用场景
51、IdleHandler及其使用场景
52、消息屏障,同步屏障机制what
53、子线程能不能更新UI
54、为什么Android系统不建议子线程访问UI
55、Android中为什么主线程不会因为Looper.loop()里的死循环卡死?
56、Handler消息机制中,一个looper是如何区分多个Handler的当Activity有多个Handler的时候,怎么样区分当前消息由哪个Handler处理处理message的时候怎么知道是去哪个callback处理的
57、Looper.quit/quitSafely的区别
58、通过Handler如何实现线程的切换
59、Handler 如何与 Looper 关联的

View绘制

60、View绘制流程
61、MeasureSpec是什么
62、子View创建MeasureSpec创建规则是什么
63、自定义Viewwrap_content不起作用的原因
64、在Activity中获取某个View的宽高有几种方法
65、为什么onCreate获取不到View的宽高
66、View#post与Handler#post的区别
67、Android绘制和屏幕刷新机制原理
68、Choreography原理
69、什么是双缓冲
70、为什么使用SurfaceView

『杭电1199』Color the Ball Problem Description There are infinite balls in a line (numbered 1 2 3 ....), and initially all of them are paint black. Now Jim use a brush paint the balls, every time give two integers a b and follow by a char 'w' or 'b', 'w' denotes the ball from a to 阅读详情

相关推荐

安卓手机应用开发!揭秘今年Android春招面试必问问题有哪些?使用指南

缘起 深圳市腾讯计算机系统有限公司成立于1998年11月,是中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一。 腾讯业务多元化,覆盖面广:社交、通信、娱乐全面开花。其中,腾讯QQ几乎是所有人的青春,各种气泡,装扮,是青春年少时的快乐。 我对腾讯的执念是从一款破解版QQ起。我当时机缘巧合从朋友那边得到了一款破解QQ软件,哪怕没有充会员,开VIP也可以使用各种主题和气泡,于是,当时尚且年幼的我对各种破解版软件产生了兴趣,并决定长大后要学破解软件。 组件化 1.1 组件化初衷 APP版本

左夜天 540

一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

这篇博客发出来后,我用 Rust 复现代码出现问题。为此,我对对照了 sklearn 的相关代码,反复比较了两天,发现一处 bug,把 += 误写成了 =,导致数据量大的时候完全无法聚类。这个debug过程让我仔细梳理的 AP 算法的计算过程,今天我对这篇博客做了大规模修改,以便能原样展现原论文思想。

程序猿视角 3219

2021Android高级进阶学习资料,再不了解你就out啦

前文 本文希望通过揭开一些 React 隐藏的技术细节, 来辅助对官方文档中某些概念的理解 读者可以将本文看做对官方文档的补充 行文方式我采用的是提问-解答的方式, 即先根据官方文档给出的使用规则, 提出Why, 然后我们根据实际的调试再来解答这些Why, 最后系统的整理这些 Why 变成 How, 如果你们有更好的行文方式, 也欢迎留言讨论 另外为了阅读体验, 我不会粘贴过多的源码, 避免打断各位读者的思路. Android开发面试的几部分 1、基础知识 基础知识包括几个部分:Java(JDK、

m0_57983661的博客 830

从0到1,快速理清 | DeepSeek Harness

DeepSeek推出自研Harness开发平台,主打"一切皆插件"理念,将AI执行能力模块化为可自由组合的插件体系。带你从0到1,快速了解开发链路。

IT学习博客 688

单细胞分析避坑指南:你的Harmony批次矫正真的做对了吗?

本文深入探讨了单细胞转录组分析中Harmony批次矫正的正确使用方法,解析了其工作原理及常见误区。通过详细参数调优指南和实战案例,帮助研究者避免过度矫正,确保生物学信号的有效保留。特别关注Harmony在单细胞数据分析中的关键参数设置和结果验证方法。

weixin_31099291的博客 299

测试从业1到3年经验,常见软件测试工程师面试题总结

涉及的知识主要有数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到三年工作经验)。

weixin_56502375的博客 3687

陆地观测卫星数据服务平台深度体验:高分、中巴、资源系列影像的检索与下载技巧

本文深度解析国产陆地观测卫星数据服务平台的使用技巧,重点介绍高分、中巴、资源系列卫星影像的检索与下载方法。通过权限体系解析、高级检索策略、数据预处理等实战技巧,帮助用户高效获取高质量遥感数据,适用于环境监测、资源调查等多种应用场景。

eee77的博客 981

Android面试题汇总(中高级)及答案解析,2023年企业面试题精选

如今,Android开发岗的就业形势逐渐严峻,想要在众多面试者中脱颖而出,拿下大厂offer,就必须全面梳理知识点,扩充题库,并针对面试中可能遇到的关键知识,进行深入分析。本文是专为Android工程师准备的高薪面试真题汇总题库,涵盖多年大厂面经总结+核心考点深度解析,让你秒变offer收割机。

大模型训练 1万+

CPD (Coherent Point Drift) 算法实现点云配准 C++版

作为和icp并列的点集配准算法cpd为什么没有icp火,等我把整个方案跑完才明白。 首先下载cpd https://github.com/gadomski/cpd 包含的fgt https://github.com/gadomski/fgt 下载到win10的解压后 运行cmake来进行编译 这个时候会提醒缺少eigen3 fgt python 这几个都安装排除后 在build文件夹下会生成vs2017的源码,右键全部生成后在 .\cpd-master\build\Debug 下会生成一个cpd.li

uranus1992的博客 3510

T型三电平逆变器中点电位平衡详解

T型三电平逆变器(T-type Three-Level Inverter)是一种高效的多电平拓扑,相比传统NPC(Neutral Point Clamped)三电平逆变器,具有更低的开关损耗、更高效率和更简单的结构,尤其适用于中功率应用(如光伏逆变器、风电变换器和工业驱动)。(T-type Three-Level Inverter)中的应用已成为当前中高压功率变换领域(如光伏逆变器、储能PCS、电动汽车充电桩、风电并网和工业驱动)的热门方案。针对 T型逆变器,类似 NPC 的零序注入法适用。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 546

Android开发工程师必看笔试题:Java基础选择题(一)

1.在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。(单选)   A) FileInputStream   B) FileReader   C) FileWriter   D) File  2. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()(单选)   A) ArrayList和Linked

TaoLee 8111

UDF学习(二)基础数据类型与常见宏

thread_loop_c (t,d) 必须与begin_c_loop (c,t)同时使用,但begin_c_loop (c,t)不一定与thread_loop_c (t,d)同时使用。同理thread_loop_f(t,d)必须与begin_f_loop (c,t)同时使用,但begin_f_loop (c,t)不一定与thread_loop_f(t,d)同时使用。begin_c_loop (c,t) 在计算域内对网格单元进行循环。c_face_loop (c,t)遍历网格单元上的所有网格面。

weixin_44386973的博客 857

安卓开发和java笔试题_Android高级开发面试题以及答案整理 PDF 下载

相关截图:主要内容:网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴 于此我整理了如下安卓开发高级工程师面试题以及答案帮助大家顺利进阶为高 级工程师,目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安 卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分会是一 篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来,大家知道高级 工程师不会像刚入门那...

weixin_29256771的博客 261

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】

Android软件工程师笔试题单选题(共35题)1.退出activity 对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行A.onPause()B.onCreate()C.onResume()D.onStart()2.Android 项目工程下面的assets 目录的作用是什么A.放置应用到的图片资源。Res/drawableB.主要放置一些文件资源,这些文件会被原封不动打包到apk里...

weixin_35651995的博客 777

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

安卓开发和java笔试题_Android开发工程师必看笔试题:Java基础选择题(一)

1.在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作。(单选)A) FileInputStreamB) FileReaderC) FileWriterD) File2. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()(单选)A) ArrayList和LinkedList均实现了List接口B) Arra...

weixin_35903223的博客 720

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

安卓高级面试 Android-Advanced-Interview

如今安卓开发不像前几年那么热门,但是高级人才依然紧缺,大家看着这句话是不是很熟悉,因为 web 高级人才也紧缺,c++ 高级人才一样紧缺,那么到了人工智能时代,人工智能时代的高级人才也同样会紧缺!似乎是高级人才的人在其他领域也是高级人才,而不是因为选择了热门才会一帆风顺。 网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了如下安卓开发高级工程师面试题以及答案帮助大家顺利进阶为高级工程师,目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技

贵公子丶笔记 692

Android开发工程师笔试题

1.请谈一下Android系统的架构 Android系统从下往上分为Linux内核层(linux kerner),运行库(runtime library),应用程序框架层,应用程序层 linuxkernel:负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。 libraries和 androidruntime:libraries:即c/c++函数库部分,大多数都是开放源代码

BoriseLee 4799

安卓中活动的生命周期——面试、笔试必考题

一、前言 安卓开发岗位面试官最喜欢问的问题就是活动的生命周期,尤其是对于应届生来说,对于这种基础的问题一定要记牢。既然没有工作经验,如果基础的问题都回答不出来,那凭什么别人会相信你有潜力? 二、知识点 每个活动的生命周期中会存在四种状态:运行、暂停、停止、销毁。 安卓中Activity总共有七个回调函数,分别是: ①onCreate(),这个方法在活动第一次创建的时候会被调用,在里面可以加载布局...

英勇的博客 2417

Android Visualizer 实战:把声音画出来

是系统提供的音频效果(AudioEffect)之一。它挂在音频链路上,,把数据回吐给你——画波形、画频谱、做响度表。

Android的专栏 302

Android 开发入门实践(十三):用 Intent、UiState 和 Reducer 理解 MVI 的状态更新

本文记录第141—145课对MVI架构的入门实践,通过“返回列表”功能逐步构建意图(NewsIntent)、状态(NewsUiState)与状态转换(reduce)机制。基于单向数据流,用户操作生成意图,ViewModel通过Reducer根据旧状态计算新状态,并通过StateFlow更新Compose界面。代码实现清晰分离关注点,强化了对状态管理、事件驱动与数据流的理解。

Easyhood的博客 333

Android Message源码阅读

本文梳理了Android Handler机制中Message的核心设计:链表结构、消息复用池(sPool)及回收机制,重点解析了异步消息与同步屏障(SyncBarrier)的协同机制。当主线程需优先处理UI绘制等高优先级任务时,系统通过postSyncBarrier插入屏障,使Looper跳过普通同步消息,优先执行标记为异步的UI渲染任务,确保帧率流畅。该机制是保障Android界面响应性的关键技术之一。

u012116089的博客 203

RK-RK3572-Android16- 编译打包优化-OTA整包-差分包打包

这里主要记录一下 RK3572 在Android16 上面进行OTA升级的整包和差分包制作经验的一个分享,整理知识点,方便后续自己和其它同事开发提高工作效率、直接使用。不管哪一个平台,MTK 也好、RK也好 基本上都是不同Android版本各个子系统之间还是有一点点区别的,所以有必要记录整理知识点,方便提高开发效率、生产效率。针对OTA升级问题 ,再一次说明还是要看官方提供的文档,按照文档来。

十年饮冰,难凉热血 170

Android Laya 与 Native Bridge:页面识别、双向通信、协议设计和崩溃定位

Laya 与 Native 通信的难点不在于某个或的写法,而在于边界:页面来源是否可信、协议是否明确、线程是否正确、请求是否幂等、页面是否仍然存在、日志是否能关联一次完整请求。建立这些边界后,才能把“页面白屏”“按钮无响应”“重复消息”和“Native 崩溃”拆成可验证的层次,并沿着真实调用链找到根因。

路在脚下,幸福在手中,莫贪!!!!! 163

BUUCTF-菜刀流量-MISC-学习笔记

从 1970-01-01 00:00:00 UTC 起算的秒数,——Wireshark 直接告诉你它回答的是谁;由表可知道,96帧返回了flag.rar。, 代表删除键,先删了4次,又删了1次。所以密码是:SuperMaster。解析128帧的响应,即133帧。所以这是一个标准抓包文件,用。解压压缩包拿到html代码。:选中 128 帧,展开。:128 和 131 的。能把一问一答放在一起看;是八进制(Oct)的数字。(或 TCP 层)看到。对比一下ASCii 码表。

晓梦林的博客 69

安卓部署Linux性能实测:一颗移动处理器,能否胜任日常 Linux 开发?

本文通过在一加Ace5上部署NimoteCode的ARM64 Linux环境,测试了其在CoreMark、SQLite编译及并行构建中的表现。结果显示,尽管单核性能约2.34GHz,多核扩展比达6.15×,但优化编译耗时仍高达35秒,反映移动处理器虽具备一定开发能力,却受限于文件系统开销与运行环境(如PRoot)。实际开发中,非优化构建效率较高,而并行编译可显著提速。结论:安卓手机可作为轻量级开发辅助工具,但无法替代桌面环境,真正价值在于便携性与即时响应,而非全功能替代。

一个不知名码农的专栏 326
上一篇: 【Android进阶】RxJava 堆栈异常信息显示不全,怎么搞?
下一篇: 为什么 Android 要使用 Binder 作为 IPC 机制?
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值