android
文章平均质量分 78
深南大盗
大神:写的了代码,查的出异常,杀的了木马,翻的了围墙!
展开
-
7.牛批了 Android 2022高级资深面试题 一线大厂和二线大厂面试真题精选 (大疆 附答案)第七套 30k+
笔者是面霸,面试500+场 当过考官:面过别人500+场 去过500强,也呆过初创公司。斩获腾讯、华为、字节跳动,蚂蚁金服,OPPO,美团,安卓岗offer!我有一套速通大厂技巧分享给你!12年毕业,专科生,做安卓9年了。横扫深圳各大互联网公司,从开始的4k工资到现在的4万。我经历了什么?本人也是一个屌丝,刚毕业的时候一直沉迷泡妞,我一直换,换了9个女朋友,然后在去年深圳买房安定下来了。然后开始写博客。免费分享给大家!本系列一共10套面试真题,适合快速找工作的人...原创 2022-01-06 10:34:43 · 2171 阅读 · 0 评论 -
Android 2021年最新深圳大厂面试真题腾讯,字节,蚂蚁金服,oppo,vivo (有图有真相,建议收藏)
笔者12年毕业,普通二本,做安卓9年了。从开始的4k工资到现在的4万。我经历了什么?我每年都跳槽,然后有很多经历,横扫深圳各大互联网公司,说出我的故事。宣言:本人也是一个屌丝,刚毕业的时候一直沉迷泡妞,没怎么学习。直到去年才去了腾讯!程序员没什么时候找女朋友。我一直换,换了9个女朋友,然后在去年终于结婚了。然后开始写博客。本来去年在腾讯呆着不错,但是我想搞NDK,openGL,音视频。然后就去了蚂蚁金服我刚入行的时候,几位安卓同行,也许你知道他们,不知道我!郭霖:《第一行代码》张鸿翔:百度专原创 2021-07-15 22:11:08 · 548 阅读 · 1 评论 -
Android recyclerView选中Item滚动到屏幕中间 / 指定位置 (完美实现)
之前用这个rvItemList.scrollToPosition(item.markPosition);换成这个:rvItemList.smoothScrollToPosition(position);public class CenterLayoutManager extends LinearLayoutManager { public CenterLayoutManager(Context context) { super(context); .原创 2021-03-05 19:31:26 · 3497 阅读 · 0 评论 -
3).Android Jetpack 一个demo两分钟完全掌握 ViewModel和AndroidViewModel 杀死进程数据存在
三个问题,重点原理分析:ViewModel是如何创建出来的? 为什么不同的Fragment使用相同的Activity对象来获取ViewModel,可以轻易的实现ViewModel共享? ViewModel为什么在Activity销毁重建时不会被销毁回收?答案:这里我们又学到了Activity的两个跟生命周期相关的函数调用:onRetainNonConfigurationInstance和getLastNonConfigurationInstance。Activity实现了Vi.原创 2020-11-19 19:54:52 · 376 阅读 · 0 评论 -
2).Android Jetpack 一个demo两分钟完全掌握 lifecycle 使用详解
说明:不仅可以用在MVVM,还可以MVP。用于监控生命周期,防止内存泄露原理比较清晰:Activity/Fragment实现LifecycleOwner接口,通过LifecycleRegistry在对应生命周期分发事件Lifecycle.Event,回调到生命周期观察者LifecycleObserver对应订阅方法。几个重要的类和接口Lifecycle Lifecycle是一个持有组件生命周期状态(如Activity或Fragment)的信息的类,并允许其他对象观察此状态。..原创 2020-11-18 18:47:31 · 306 阅读 · 0 评论 -
Android 2020年最新保活方案 保活90% 已适配8.0 ,9.0, 10.0(酷狗音乐)
https://www.jianshu.com/p/cfc2a200e46d因为公司app要保活。像酷狗音乐,一直在后台播放音乐。所以研究了下系统如何杀死进程?内存阀值,不同进程优先级导致的不一样的阀值。空进程:加快启动速度ADJ红色部分是容易被回收的进程,属于android进程 绿色部分是较难被回收的进程,属于android进程 其他部分则不是android进程,也不会被系统回收,一般是ROM自带的app和服务才能拥有如何查看某个进程...原创 2020-08-18 17:32:52 · 8950 阅读 · 2 评论 -
5.NDK Android jni开发 异常处理 native奔溃解决(相机图片美化)
http://www.droidsec.cn/常见android-native崩溃及错误原因/https://blog.csdn.net/ddxxii/article/details/84781110程序运行时常会碰到一些异常情况,例如:做除法的时候除数为 0; 用户输入年龄时输入了一个负数; 用 new 运算符动态分配空间时,空间不够导致无法分配; 访问数组元素时,下标越界;打开文件读取时,文件不存在。NDK异常信息一般有三个要素:信号 调用栈信息 寄存器信息..原创 2020-07-05 15:19:30 · 994 阅读 · 0 评论 -
Android AIDL 简单demo 跨进程访问service
1.定义AIDL接口:需要保证包名一样在Android Studio中 src目录上右键创建一个AIDL文件 并命名,完成后会再main下自动生成一个aidl目录,该目录的包名和java下的包名是一致的。转存失败重新上传取消2.make Project 然后生成接口3,哪里需要用拷贝接口过来通过AIdl,bind启动远程服务private boo...原创 2020-02-24 09:48:04 · 462 阅读 · 0 评论 -
Android ViewPager+Fragmentt预加载 懒加载
懒加载介绍所谓的懒加载,其实也就是延迟加载,就是等到该页面的UI展示给用户时,再加载该页面的数据(从网络、数据库等),而不是依靠ViewPager预加载机制提前加载两三个,甚至更多页面的数据.这样可以提高所属Activity的初始化速度,也可以为用户节省流量.而这种懒加载的方式也已经/正在被诸多APP所采用.但是通过ViewPager方法setOffscreenPageLimit(in...原创 2020-02-24 09:47:31 · 363 阅读 · 0 评论 -
Android Q的适配 华为市场给都代码参考和文档
Android Q的手机有:红米K20Q 行为变更:所有应用 (不管targetSdk是多少,对所有跑在Q设备上的应用均有影响) Q 行为变更:以 Android Q 为目标平台的应用(targetSDK == Q 才有影响)1.设备标识 (ok)2.定位权限(ok)3.后台启动activity =====锁屏==启动了配速相关的。ScreenActivi...原创 2020-02-24 09:46:08 · 415 阅读 · 0 评论 -
Android 拼多多 分享图片 实现截屏和截长图功能
1.自己实现截屏1、截取屏幕的整个可视区域(不包含状态栏)/** * 截取除了导航栏之外的整个屏幕 */private Bitmap screenShotWholeScreen() { View dView = getWindow().getDecorView(); dView.setDrawingCacheEnabled(true); dV...原创 2020-02-24 09:45:36 · 2962 阅读 · 0 评论 -
1.牛批了 Android 2021中高级面试题 一线大厂和二线大厂面试真题精选 (平安 附答案)第一套 22k+
数据库的设计核心理念1.多个数据还是 创建多个表,一个用户多个表,对应关系2.基本信息表和设备更新表格3.什么作为主键4.更新的方法数据库设计的核心几个类1.Help2.manager====作为单列AI数据库转存失败重新上传取消第2个表,哪个作为主键1.进来的时候如果数据库不存在---去服务器拉接口保存到本地1).如...原创 2021-07-16 09:04:13 · 1656 阅读 · 2 评论 -
Android recycleview的分组效果
https://www.jianshu.com/p/1558cbd20d17(不错)https://www.jianshu.com/p/fe94636ef3d6Android ItemDecoration 实现分组索引列表(不错)https://www.jianshu.com/p/4230a90cb359不错的效果https://www.jianshu.com/p/24f...原创 2020-02-23 13:31:29 · 517 阅读 · 0 评论 -
Android 消息推送 离线也可以收到通知消息
1.老版本有问题2.自定义可以,通知不可以(老版本自定义消息也收不到)3.别的手机可以收到通知,但是没有收到通知的广播(我的旧版收不到通知,新版本也不可以)4.运行demo5.。没有权限,也可以收到广播,但是没有显示注: **从JPush3.0.7开始,需要配置继承JPushMessageReceiver的广播,原来如果配了MyReceiver现在可以弃用。示例如...原创 2020-02-23 13:20:48 · 3927 阅读 · 0 评论 -
Android 组件化的应用 模块通信问题解决
组件之间AndroidManifest合并问题由于 Android 项目在 Eclipse 和 AndroidStudio开发时 AndroidManifest.xml 文件的位置是不一样的,我们需要在build.gradle 中指定下 AndroidManifest.xml 的位置,AndroidStudio 才能读取到 AndroidManifest.xml,这样解决办法也就有了,我们可以...原创 2020-02-23 13:18:10 · 2860 阅读 · 0 评论 -
Android 没有studio抓取Android设备上的Log日志
使用adb logcat命令显示Android设备上的Log日志使用adb logcat命令显示Android设备上的Log日志有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。本文教大家如何在不需要studio就可以查看手机程序中的Log日志。实现这个功能的前提是使用adb命令,所以必须要有手机和电脑,还有安装adb,adb程序是很小...原创 2020-02-23 13:16:43 · 884 阅读 · 0 评论 -
Android view高度和滑动事件 实战
1.一个view,我直接new处理,不添加任何处理,我的宽和高是多少Android 正确获取View的宽和高问题:一个view的宽和高是由什么决定!https://www.jianshu.com/p/705a6cb6bfee从源码可以看出来,子View的测量模式是由自身LayoutParam和父View的MeasureSpec来决定的。Android View 显示...原创 2020-02-23 13:11:43 · 532 阅读 · 0 评论 -
Android Gradle studio配置各种问题集合 这一次彻底弄明白Gradle
问题:加快 Android 的 Gradle 构建问题:把模块的公共的变量统一下问题:如何立即停止编译?修改打包后的输出目录提高打包速度Android工程中的Gradle下面简述对我们工程最重要的几个Gradle文件,后续也会围绕他们进行详细讲解和补充(请仔细看代码中的注释哈)工程Project 中的 build.gradle : 工...原创 2020-02-23 12:53:26 · 1376 阅读 · 0 评论 -
Android kotlin高级特性
不错https://www.jianshu.com/p/5f77209abb9bhttps://www.jianshu.com/p/cf9d068d4b6cKotlin+RxJava+Android Architecture Components1.Kotlin优缺点2.Kotlin基本变量,方法,类https://www.jianshu.com/p...原创 2020-02-23 11:41:33 · 687 阅读 · 0 评论 -
Android 性能优化 (十四) 常见的奔溃crash问题
1.not attached to window manager//判断Activity是否Destroyprotected boolean isDestroy(Activity activity) {return activity == null || activity.isFinishing() ||(Build.VERSION.SDK_INT >= Build.VERSION_...原创 2020-02-02 18:41:48 · 2038 阅读 · 0 评论 -
Android 一天搞定 NDK和JNI编程 3分钟学会写NDK实例
Android NDK 是在SDK前面又加上了原生二字,即Native Development Kit,因此又被Google称为NDK。1、什么是JNI? JNI全称 Java Native Interface , java本地化接口 ,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。它允许Java代码和其他语言写的代码进行交互,原创 2017-07-25 20:33:09 · 8204 阅读 · 0 评论 -
Android 最全的AES加密算法及其实现(前所未有的震撼)
一:什么是AES加密AES高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。AES 是一个迭代的、对称密钥分组的密码,AES算法加密强度大,执行效率高,使用简单,实际开发中原创 2017-06-30 14:46:36 · 21816 阅读 · 4 评论 -
Android 性能优化(十)图片加载和大图片缓存机制OOM完美解决方案LruCache&DiskLruCache
主要的三种方式:图片缩放节约内存,内存缓存,硬盘缓存一.inSampleSize(缩放值)经过研究,发现,Options中有个属性inJustDecodeBounds,研究了一下,终于明白是什么意思了,SDK中的E文是这么说的 If set to true, the decoder will return null (no bitmap), but t原创 2017-03-30 19:50:22 · 3801 阅读 · 0 评论 -
Android List,Set,Map集合安全 集合区别 并发集合类性能分析
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List、Set和 Map这三大类的集合Collection接口主要有两种子类分别为List和Set,区别主要是List保存的对象可以重复而Set不可以重复而Map一般为key-value这样的对应关系,比如我们常用的HashMap。原创 2017-04-20 19:16:46 · 6337 阅读 · 0 评论 -
java 最新面试题 (腾讯 百度 阿里巴巴 华为)精选
1.为什么内部类会持有外部类的引用?静态内部类:使用static修饰的内部类 内部类:就是在某个类的内部又定义了一个类,内部类所嵌入的类称为外部类 匿名内部类:使用new生成的内部类 因为内部类的产生依赖于外部类,持有的引用是类名.this总之:2个类之间需要互相访问的话,需要实例 ,默认有隐式的this,可以访问外部类的方法和属性,如果把Handler里面的改原创 2017-05-04 16:14:07 · 415 阅读 · 0 评论 -
Android IntentService——知道这个你就能去BAT
一.IntentService的使用场景在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得原创 2017-05-16 14:41:12 · 828 阅读 · 0 评论 -
Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目
从快播到直播原创 2017-07-07 17:01:00 · 140516 阅读 · 8 评论 -
Android AIDL进程IPC通信 一次就好
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口为什么使用AIDL一:两个进程之间使用AIDL进行通信:二、由于Android对单个应用所使用的最大内存做了限制,为了加大一个应用原创 2017-04-25 20:20:52 · 969 阅读 · 0 评论 -
Android 程序员必须知道的8个算法及其时间复杂度讲解
插入排序的中心思想:插入选择排序的中心思想:取第一个值冒泡排序的中心思想:交换归并排序的中心思想:分治发插入排序的中心思想:插入选择排序的中心思想:取第一个值冒泡排序的中心思想:交换归并排序的中心思想:分治发英文名称Swap:交换直接插入排序(In原创 2017-07-21 17:41:54 · 5604 阅读 · 0 评论 -
Android Activity和Fragment通信 切换 数据传值
1. Fragment的生命周期2、Fragment如何与Activity交互,Acitivity和Fragment的通信3. 如何管理Fragment回退栈4. Fragment的状态保存5、Fragment 的startActivityForResult6、Fragment 替换和隐藏的区别7、使用Fragment创建对话框原创 2017-08-07 17:30:15 · 2495 阅读 · 0 评论 -
Android 彻底弄懂Activity四大启动模式 和taskAffinity属性详解 intentFlag 图文解析
task是在程序运行时,只针对activity的概念。说白了,task是一组相互关联的activity的集合,它是存在于framework层的一个概念,控制界面的跳转和返回。这个task存在于一个称为back stack的数据结构中,也就是说,framework是以栈的形式管理用户开启的activity。这个栈的基本行为是,当用户在多个activity之间跳转时,执行压栈操作,当用户按返回键时,执原创 2017-08-01 20:57:50 · 1095 阅读 · 0 评论 -
Android 数据库升级 数据迁移 数据不丢失
数据的版本:private static final String DBNAME = "ads.db"; private static final int VERSION = 1; public DBOpenHelper(Context context) { super(context, DBNAME, null, VERSION);原创 2017-08-09 19:23:47 · 938 阅读 · 0 评论 -
Android Activity 生命周期和重要的相关函数(基础一)
总结:1.oncreate2.onstart 可见但不交互3.onrestart 从其他界面重新调转过来4.onresume 可交互5.onpase6.onstop 不可见7.ondestroyBACK键:原创 2017-08-10 18:12:52 · 1514 阅读 · 0 评论 -
Android Activty的加载过程 启动流程 源码分析
1.Activity中最终到startActivityForResult()(mMainThread.getApplicationThread()传入了一个ApplicationThread检查APT)->Instrumentation#execStartActivity()和checkStartActivityResult()(这是在启动了Activity之后判断Activity是否启动成功原创 2017-08-02 20:43:01 · 1212 阅读 · 0 评论 -
Android Binder 作为 IPC 机制原理和面试回答
一、Binder机制在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的机制有很多种,比如说socket、pipe等,Android中进程间通信的方式主要有三种:1.标准Linux Kernel IPC 接口;2.标准D-BUS接口;3.Binder接口。IPC(Inter-Process Co原创 2017-07-05 14:33:03 · 2534 阅读 · 0 评论 -
Android 插件化原理 完胜360插件框架 技术实战
性能优化Android 性能优化 (一)APK高效瘦身http://blog.csdn.net/whb20081815/article/details/70140063Android 性能优化 (二)数据库优化 秒变大神http://blog.csdn.net/whb20081815/article/details/70142033原创 2017-08-04 16:21:19 · 5530 阅读 · 1 评论 -
Android Exception&Throwable 常见异常和解决方法 奔溃日志上报 monkey异常修改
java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。Error: 这种异常被设计成不被捕获,因为这种异常产生于JVM自身。Runtime Exception: 运行时异常往往与环境有关,编译时无法检查,原创 2017-07-28 16:59:40 · 6371 阅读 · 0 评论 -
Android 上下文Context(最权威的官方教程)
可以看到Activity、Service、Application都是Context的子类;也就是说,Android系统的角度来理解:Context是一个场景,代表与操作系统的交互的一种过程。从程序的角度上来理解:Context是个抽象类,而Activity、Service、Application等都是该类的一个实现。在仔细看一下上图:Activity、Service、App原创 2017-04-20 14:57:49 · 1771 阅读 · 0 评论 -
Android ContentProvider 完全解析及DEMO(最具说服力)
转载来自: http://blog.csdn.net/yhaolpz/article/details/51304345一:为什么使用ContentProvider,它有什么作用?1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是转载 2017-05-04 11:26:58 · 4706 阅读 · 0 评论 -
Android 性能优化<九> RecyclerView替代Listview用法
Android 性能优化 (一)APK高效瘦身http://blog.csdn.net/whb20081815/article/details/70140063Android 性能优化 (二)数据库优化 秒变大神http://blog.csdn.net/whb20081815/article/details/70142033 Android 性能优化(三)布局优化 秒变大神...原创 2017-07-27 21:24:11 · 1506 阅读 · 0 评论