原理: 在Manifest文件中,使用<activity-alias>标签为我们的入口Activity准备多个,拥有<activity-alias>标签的activity是为了指向入口Activi…
分类:Android
Android模拟器检测识别技术
Android模拟器常常被用来刷单,如何准确的识别模拟器成为App开发中的一个重要模块,目前也有专门的公司提供相应的SDK供开发者识别模拟器。 目前流行的Android模拟器大概分为两种,一种是基于Qemu,另一类是基于…
职业规划=我是谁+到哪里去+怎么去
“我是谁”:包括四个方面的认知: 性格:自己性格的优势与劣势; 职责:自己在工作中应该履行哪些职责; 能力:自己拥有什么能力、欠缺哪些能力; 价值观:坚持什么,反对什么。 “到哪里去”:是自己的职业目标定位,是自己的职业…
Flutter获取APP的包名版本等信息
获取APP包的信息 通过使用插件package_info可以获取到当前APP的包名,版本名,版本号等信息。 添加依赖 要使用这个插件,首先在工程的pubspec.yaml文件中加入对这个插件的依赖: dependenci…
Android Handler消息机制实现原理
一、消息机制流程简介 在应用启动的时候,会执行程序的入口函数main(),main()里面会创建一个Looper对象,然后通过这个Looper对象开启一个死循环,这个循环的工作是,不断的从消息队列MessageQueue…
HandlerThread源码解析
1、HandlerThread 是什么? 它继承至 Thread,具备线程的特性。它是一个带有 Looper 的线程,并且该Looper可以被用于创建对应的Handler。 2、HandlerThread的作用是什么? …
ScrollView中嵌套ListView/ExpandableListView显示问题
android 官方不支持scrollview内部嵌套一个scrollview,所以listview嵌套listview或者scrollview嵌套ExpandableListView的话,listview的item是显…
Android内存管理机制之幽灵杀手——LowMemory Killer
Android内存管理其实是一个非常复杂和庞大的话题,Android系统的内存管理机制有:Lowmemory Killer机制,Ashmem机制,Pmem/Ion机制及Native内存管理和Dalvik内存管理和Jvm垃…
Android:Dagger2系列1 初识
经过一段时间的纠结和水深火热,终于渐渐领悟了Dagger2,在此分享一下学习心得,希望同样对Dagger2水深火热的你们有点帮助。 接下来我会分享一系列Dagger2内容。 下一篇:Android:Dagger2系列2 …
对Android工程师来说,2017年是怎样的寒冬
本文出自扔物线的知乎Live。 一、对Android工程师来说,2017年是怎样的寒冬 起因:这次大家都感觉工作比较难找了,这是怎么发生的呢,又是什么导致的呢? 初创公司倒闭,大公司裁员,这些人就会闲下来,所以工作会变得…
在 Android Camera进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
做视频开发就需要用到Camera进行采集数据,关于Camera的用法就不多说了,如有兴趣的可以到Camera官网学习。 更加详细的SurfaceView,可以到Android音视频技术入门之绘制一张图片中了解。 Text…
gradle多渠道打包替换图片、xml等资源文件
用gradle多渠道打包一般在build.gradle文件里面,productFlavors 标签下添加自己的渠道名,像下面这样 android { productFlavors { "xiaomi"{ manifest…