![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 68
AntDreamer
这个作者很懒,什么都没留下…
展开
-
Android经典面试题之SurfaceView和TextureView有什么区别?
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点和是 Android 应用开发中用于显示内容的两种常用视图,尤其是在需要呈现视频或其他图形内容时。理解它们的作用和区别对于在不同场景下选择合适的视图非常重要。原创 2024-07-25 10:11:29 · 547 阅读 · 0 评论 -
Android经典面试题之View的post方法和Handler的post方法有什么区别?
主要用于在视图完成布局之后执行任务,确保视图树已经准备就绪。:更通用,用于将任务调度到特定的 Handler 关联的线程,可以是主线程或其他工作线程。在处理视图相关的任务时,使用View.post可以确保视图已经完成布局和绘制。而在调度各种线程任务时,更加灵活和通用。选择哪一个方法取决于具体的需要和上下文。欢迎关注我的公众号AntDream查看更多精彩文章!原创 2024-07-24 08:15:00 · 294 阅读 · 0 评论 -
Android经典面试题之Java中获取时间戳的方式有哪些?有什么区别?
精度和返回的是毫秒精度。返回的是纳秒精度,适用于高精度计时。返回的是秒精度,更适合需要秒级别时间戳的场景。用途适用于一般用途,如日志记录和简单的计时。适用于精确的时间测量,不用于获取实际的当前时间。Instant类方法适用于需要严谨时间表示的场景,特别是与ISO-8601标准统一的应用。常用于与数据库操作相关的场景。时间的起点(Epoch Basis)和Instant类方法基于Unix元年(1970-01-01 00:00:00 UTC)。基于一个任意但固定的时间点。原创 2024-07-22 08:30:00 · 152 阅读 · 0 评论 -
Android面试题之DialogFragment中隐藏导航栏
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点在 Android 中,使用显示对话框时,如果您希望隐藏系统导航栏(如状态栏和导航键),可以通过设置相关的系统 UI 标志来实现。这需要在的视图创建和显示过程中配置窗口属性。以下是一个完整的例子,展示了如何在。原创 2024-07-16 09:18:32 · 365 阅读 · 0 评论 -
Android字符串反转、左移和右移
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-07-14 22:18:55 · 195 阅读 · 0 评论 -
Android面试题之View的invalidate方法和postInvalidate方法有什么区别
综上源码我们可以得出结论:(1)postInvalidate方法调用了ViewRootImpl中的dispatchInvalidateDelayed方法向ViewRootImpl中的ViewRootHandler发送一个消息,最后调用的还是View的invalidate方法。(2)因为ViewRootImpl是在UI线程的,所以postInvalidate方法的作用就是将非UI线程的刷新操作切换到UI线程,以便在UI线程中调用invalidate方法刷新View。原创 2024-07-14 07:43:57 · 916 阅读 · 0 评论 -
Android面试之Java基础笔试题
对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。原创 2024-07-10 22:52:36 · 726 阅读 · 0 评论 -
Android面试题之Activity的启动模式和flag
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-07-09 09:46:57 · 789 阅读 · 0 评论 -
Android自定义View之Canvas一文搞定
Canvas我们可以简单理解为画布或是ps里面的图层,是绘制图形的直接对象,控制着图形的形状,比如矩形、圆形等。我们在自定义View时,通过调用Canvas的API来绘制具体的图形。Canvas是绘制图像的直接操作对象,和Paint搭配使用能绘制丰富的图像要掌握Canvas的常用的一些API要掌握Canvas的平移和旋转操作,能帮我们简化很多图像坐标的计算欢迎关注我的公众号查看更多精彩文章!原创 2024-07-07 09:28:36 · 553 阅读 · 0 评论 -
Android面试题自定义View之Window、ViewRootImpl和View的三大流程
(1)在通过继承View的方式自定义View时,需要特别处理wrap_content的情况,因为View中默认相当于没处理(和match_parent效果一样)(2)在Activity中获取View的宽高需要用特殊的方式:onWindowFocusChanged、view.post(runnable)、ViewTreeObserver的OnGlobalLayoutListener(3)我们的View的显示离不来Window,无论是Activity、Dialog还是Toast,都对应着一个Window。原创 2024-07-06 14:44:54 · 894 阅读 · 0 评论 -
Android面试题之ArrayList源码详解
1、 底部基于数组实现,这样的话查找比较快,复杂度为O(1),但是插入和删除数据就比较慢了,而且数据量越大插入和删除的速度越慢。复杂度为O(n)2、 默认容量大小为10,超过这个容量就会进行扩容,扩容的话最终调用的是System.arraycopy方法,这是一个native方法3、 ArrayList里面允许存储null值4、 ArrayList不是线程安全的,只能用于单线程环境下ArrayList源码欢迎关注我的公众号AntDream查看更多精彩文章!原创 2024-07-05 09:21:06 · 308 阅读 · 0 评论 -
Android面试题经典之如何全局替换App的字体
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”关注,和我一起每天进步一点点替换字体也是一个比较常见的需求,一般分几种情况。实现起来也不麻烦,这里简单记录下。原创 2024-07-04 08:11:38 · 125 阅读 · 0 评论 -
Android面试题经典之Glide取消加载以及线程池优化
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-07-02 07:59:50 · 846 阅读 · 0 评论 -
Android经典面试题之Glide的缓存大揭秘
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-07-01 09:02:32 · 441 阅读 · 0 评论 -
Android面试题之Kotlin协程并发问题和互斥锁
lock():尝试获取锁,如果锁不可用,则挂起当前协程。unlock():释放锁,其他挂起的协程可以继续执行。tryLock():尝试获取锁,如果锁不可用,则立即返回false,不会挂起当前协程。withLock():便捷方法,自动获取和释放锁,确保在代码块执行后释放锁。Mutex的这些方法使得在 Kotlin 协程中进行线程安全的操作变得更加简洁和直观。根据实际需求选择合适的方法,可以有效避免并发问题,提高代码的健壮性和可维护性。原创 2024-06-28 09:32:31 · 472 阅读 · 0 评论 -
Android网络基础面试题之HTTPS的工作流程和原理
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-27 08:27:22 · 946 阅读 · 0 评论 -
手把手教你用Charles抓包
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点日常开发过程中难免要进行抓包,查看服务端返回的数据是否正常,而Charles可谓是抓包利器了。原创 2024-06-26 09:42:54 · 758 阅读 · 0 评论 -
Android网络面试题之Http1.1和Http2.0
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-26 09:10:12 · 823 阅读 · 0 评论 -
Android网络面试题之Http基础和Http1.0的特点
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-25 09:49:21 · 1260 阅读 · 0 评论 -
Android中如何动态的调整Dialog的背景深暗
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点在 Android 开发中,当你使用 Dialog 或 DialogFragment 时,可以通过设置Window的背景变暗来突出它的可见性。这个效果是通过属性来控制的。那我们怎么动态设置呢?原创 2024-06-23 14:19:02 · 490 阅读 · 0 评论 -
Android面试题之如何简单快速实现RecycleView的拖动重排序功能
完成以上的步骤就瞬间实现了让RecycleView支持拖动重排序的功能,欢迎关注我的公众号AntDream查看更多精彩文章!原创 2024-06-18 08:24:07 · 193 阅读 · 0 评论 -
Android面试题之Java网络通信基础知识
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-17 08:30:00 · 1896 阅读 · 0 评论 -
Android面试题 之 网络通信基础 面试题
指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。DMA:direct memory access,用于接收CPU的指令负责去IO拷贝。会把文件数据拷贝到内核缓冲区,再拷贝到用户空间零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而提高数据传输效率。原创 2024-06-16 14:51:59 · 660 阅读 · 0 评论 -
Android面试题之ActivityManagerService的启动流程
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-14 13:09:15 · 486 阅读 · 0 评论 -
Android面试题之activity启动流程
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-13 08:30:00 · 807 阅读 · 0 评论 -
Android面试题之Java 泛型和Kotlin泛型
如果只需要从集合中获得类型T,使用原创 2024-06-12 09:28:19 · 1455 阅读 · 0 评论 -
Android面试题之说说系统的启动流程(总结)
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-11 12:52:45 · 768 阅读 · 0 评论 -
程序员副业大揭秘:如何独立开发产品,月入过万,实现工作自由
没错,就是成为独立开发者,自己开发一款产品,这款产品能给我们带来新的收入来源,甚至月入过万,以后还能超过我们的本职工作收入,从而最终实现工作自由。眼下,随着大环境不好,经济减速,各种负面的消息不断,今天这个裁员,明天另一家大厂又开始裁员,还有数不清的中小厂倒闭或者正在严查考勤。咱们程序员这一行,在外人眼里一直都是高收入的代名词,每每提及,都有羡慕的眼光。除了广告收入,还有就是应用内付费收入,就是国内比较常见的那种VIP订阅,比如像QQ音乐会员,有道笔记的会员等等,用户付费,我们就有收入,而且收入更高。原创 2024-06-10 00:13:12 · 323 阅读 · 0 评论 -
鸿蒙? 车载?Flutter? React Native? 为什么我劝你三思,说点不一样的
当今信息技术领域日新月异,各种新技术和新平台层出不穷。鸿蒙(HarmonyOS)、Flutter、以及车载应用开发如今备受瞩目,吸引了大量开发者的关注。然而,对于希望提升技能的开发者来说,一味地追逐最新技术也许并不是最佳策略。这里我结合自己的思考和经历,分享一些不一样的看法,希望对大家有所帮助。原创 2024-06-08 19:11:24 · 1167 阅读 · 0 评论 -
Android TextView的textDirection属性和右对齐不生效问题
在Android中,TextView的默认文本方向()和布局方向()通常是基于应用的整体配置以及设备的区域设置(locale)自动决定的。原创 2024-06-04 09:22:18 · 438 阅读 · 0 评论 -
Kotlin Jetpack Paging3 和Flow结合使用注意点
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。原创 2024-06-03 09:34:13 · 765 阅读 · 1 评论 -
Android面试题之Kotlin 协程的挂起、执行和恢复过程
挂起点保存当前状态由管理。调度器控制挂起后的线程控制权交还。恢复条件满足时,调度器分配新线程,调用resumeWith方法恢复协程。调度器检查恢复环境,分配合适线程并调用resume方法继续执行。欢迎关注我的公众号查看更多精彩文章!原创 2024-05-30 09:39:35 · 856 阅读 · 0 评论 -
Android面试题之Kotlin协程到底是什么?它是线程吗?
Kotlin 协程的轻内存占用更少:协程不需要独立的栈内存,而是共享调用栈。低切换开销:协程切换在用户态完成,无需与操作系统交互,开销小。高并发模型:在同一线程上可以高效地运行大量协程,不受传统线程创建管理的限制。欢迎关注我的公众号查看更多精彩文章!原创 2024-05-29 09:35:19 · 727 阅读 · 0 评论 -
Android面试题之Jetpack的三大核心组件
通过ViewModelLiveData,可以实现数据的生命周期感知,并且在配置变更(如设备旋转)时也能保持 UI 的状态。此外,这种模式使得数据和 UI 的逻辑更为清晰、解耦、易于维护。同时结合Lifecycle,通过结构化和简化生命周期管理,使得生命周期感知组件在 Android 开发中更为高效,也有助于减少潜在的内存泄漏和其他生命周期相关的问题。欢迎关注我的公众号查看更多精彩文章!原创 2024-05-28 09:21:51 · 563 阅读 · 0 评论 -
为什么建议大家加快拥抱Kotlin,说点不一样的
有了Kotlin的协程,就可以避免一个App内同时存在多个线程管理类、多个线程池的问题,减少OOM。同时,Kotlin 的协程通过其轻量级、高效并发、简洁的 API 设计、低内存开销和强大的异常处理能力,解决了传统 Java 中线程创建和管理的复杂度、高资源消耗、阻塞操作导致的资源浪费、以及异常处理复杂度高的问题,使异步编程变得更加可维护、高效和可靠。Kotlin 和 Swift 都是现代化编程语言,拥有许多相似的特性和设计理念。原创 2024-05-27 15:25:32 · 845 阅读 · 0 评论 -
支持下拉刷新和滑动删除的ListView----PullToRefresh, EnhancedListView项目整合
支持下拉刷新和滑动删除的ListView—-PullToRefresh, EnhancedListView项目整合项目GitHub地址:https://github.com/snowdream1314/EnhancedPullToRefreshListView这个项目由两个开源项目PullToRefresh, EnhancedListView整合而来,借鉴了Android-PullToRefresh原创 2016-07-01 11:00:33 · 346 阅读 · 0 评论 -
支持下拉刷新和滑动删除的ListView----PullToRefresh, EnhancedListView项目整合
## 支持下拉刷新和滑动删除的ListView----PullToRefresh, EnhancedListView项目整合项目GitHub地址:https://github.com/snowdream1314/EnhancedPullToRefreshListView这个项目由两个开源项目PullToRefresh, EnhancedListView整合而来,借鉴了Android原创 2016-07-01 11:09:14 · 294 阅读 · 0 评论 -
Android Studio Gradle的配置及打包多个不同特性的应用
通过Gradle配置快速实现打包不同特性App的需求,更改App名字,App图标,App的包名,App主色调,还有一些第三方的SDK配置等。原创 2016-12-26 15:57:09 · 706 阅读 · 0 评论 -
Android保存图片到本地图库
Android保存图片到本地图库主要通过ContentResolver和Images.Media类相关的功能实现。通过ContentResolver的Insert()方法将图片插入图库和update()方法更新图库。原创 2017-01-10 11:27:38 · 1032 阅读 · 0 评论 -
Android 中显示特殊字符
Android中需要显示特殊字符的时候直接使用会报错,需要转义一下。如“&”、单引号等原创 2017-02-06 14:30:12 · 924 阅读 · 0 评论