![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 67
迪迪didi
这个作者很懒,什么都没留下…
展开
-
git命令——cherry--pick(commit全部代码复制粘贴)
git命令——cherry–pick(commit全部代码复制粘贴)1、切换到目标想要pick的分支git checkout fenzhiname保险起见git status(出现问题按照正常的reset commit的次数)2、git cherry-pick ((commit)字符串,目标pick的节点转移到↑的分支)3、git push origin HEAD:refs/for/fenzhiname 推送代码到远程仓库...原创 2022-01-11 18:07:46 · 771 阅读 · 0 评论 -
手机上抓取log日志,出了识别不了设备方法
手机上抓取log日志,出了识别不了设备方法原创 2022-01-11 18:03:59 · 546 阅读 · 0 评论 -
commit提交失败解决问题
没有reset彻底解决方法1、用命令git reset --hard HEAD^git reset --soft HEAD~12、再正常执行提交逻辑git pullgit add (/src/didi/java/com/did/didi/dd/DiDir.java)/改的类的路径+.javagit commit -m “提交注明”git push origin HEAD:refs/for/v_fenzhiname没有执行add前提,删除代码git checkout xxx路原创 2022-01-11 18:00:39 · 2249 阅读 · 0 评论 -
进程通信---Messenger
一.Messager介绍Messager,故名思义信使的意思,能够完成跨进程通信。和Service结合使用(服务器端是个service,得在Manifest文件中注册哦)Messenger与Handler类似,可以用它来发送和处理消息,其底层的实现是对Binder,对ALDl的一个简单封装。(Messenger是对AIDL的封装,AIDL又是基于Binder机制实现的)使用起来也比较简洁,在一个线程中通过指定一个Handler来创建Messenger,并把它传递给另一个进程,这样两个进程之间就可以通过原创 2021-08-26 17:30:16 · 370 阅读 · 0 评论 -
NDK和JNI,Framwork含义
1. JNI介绍1.1 简介定义:Java Native Interface,即 Java本地接口作用: 使得Java 与 本地其他类型语言(如C、C++)交互, 即在 Java代码 里调用 C、C++等语言的代码 或 C、C++代码调用 Java 代码特别注意:JNI是 Java 调用 Native 语言的一种特性JNI 是属于 Java 的,与 Android 无直接关系1.2 为什么要有 JNI背景:实际使用中,Java 需要与 本地代码 进行交互问题:因为 Java 具备跨平台的特原创 2021-07-28 16:32:08 · 503 阅读 · 0 评论 -
布局优化,及使用
ViewStub使用当在代码中执行inflate操作后,她才会被添加到试图中。其实ViewStub就是一个宽高都为0的一个View,它默认是不可见的,只有通过调用setVisibility函数或者Inflate函数才 会将其要装载的目标布局给加载出来,从而达到延迟加载的效果,这个要被加载的布局通过android:layout属性来设置。最终目的是把app加载页面的速度提高了,使用户体验更好。ViewStub出现是为了减少层级嵌套,创建布局和初始化的时候,需要的布局控件进行显示。注意:对ViewStub原创 2021-07-01 08:48:14 · 108 阅读 · 0 评论 -
Android组件化开发
1、为什么要项目组件化随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将很难进行多人协作开发,而且Android项目在编译代码的时候电脑会非常卡,又因为单一工程下代码耦合严重,每修改一处代码后都要重新编译打包测试,导致非常耗时,最重要的是这样的代码想要做单元测试根本无从下手,所以必须要有更灵活的架构代替过去转载 2021-06-28 07:51:53 · 256 阅读 · 0 评论 -
JetPack及常用组件
一、Jetpack 介绍1、什么是JetpackGoogle 官方解释:Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。Jetpack 是 Google 为解决 Android 开发碎片化,打造成熟健康生态圈提出的战略规划,是 Google 对 Android 未来提出的发展方向,同时它也是众多优秀 Android 组件的集合。2、为何使用 Android JetpackG转载 2021-06-27 22:02:07 · 1224 阅读 · 0 评论 -
Glide原理及面试
1.怎么在项目中加载图片的?用Glide比较多,Glide里的ImageLoader解决图片错乱,还有图片缓存,节约内存空间2.Glide哪些好处?可以播放gif图图片有序位置有序排放因为:图片标志缓存绑定,只展示绑定的图片地址,不是乱显示,防止图片位置错乱。比其它图片框架优秀缺点:会出问题,应该从0秒开始3秒结束,结果每次播放git图片都是从1秒或者2秒,或者0.8秒开始,播放太快,给用户体验效果差3.Glide好处体现在哪?其它图片不支持gif图片播放,只有Glide框架,因为它可原创 2021-06-26 16:36:32 · 1592 阅读 · 0 评论 -
Recyclerview原理
1.为什么会有适配器模式?自定义控件,有很多布局类型,但是加载业务逻辑是固定的,布局是自定义的,所以需要有个机制隔离开来,所以用适配器,真正做到UI界面与代码逻辑的分离。布局:不固定的Adapter:Recyclerview:专门做业务逻辑的,滑动处理,Item加载,加载逻辑,固定的,数据转为view的,主要做触摸事件的交互,主要实现边界值判断,根据用户触摸的反馈,协调回收池对象与适配器之间的工作。优势:加载无限的数据,不会卡顿Recyclerview核心思想:有限加载回收池(视图View的集原创 2021-06-24 20:49:05 · 250 阅读 · 0 评论 -
Git代码仓库
了解版本控制的工具吗?版本控制是程序开发、管理必不可少的工具,特别是在多人协作的团队中,适宜的版本控制工具可以提高开发效率,消除很多有代码版本带来的问题目前最流行的开源版本控制工具要数Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial则是分布式的。早期常用的还有CVSGit基本上都是外网服务器连接(GitHub,码云,gitlab)实际使用的时候基本流程和SVN差别不大,拉代码,更新代码,提交代码Git 是一个开源的分原创 2021-06-19 09:43:40 · 1197 阅读 · 0 评论 -
Android基础
一、Activity:Activity首先是Android关键的四大组件之一,主要提供与用户交互的界面、数据展示等,在编程范式中,应用是通过 main() 方法启动的。而 Android 系统中是调用与其生命周期特定阶段相对应的特定回调方法来启动的。其中Activity共有7个生命周期,可以通过管理生命周期来决定具体执行那些操作。Activity共有四大启动模式:标准模式standard、栈顶复用SingleTop、栈内复用SingleTask、单例singleInstance;二:Intent和Int原创 2021-06-18 17:19:52 · 85 阅读 · 0 评论 -
Handler原理
AsyncTaskAsyncTask内部是线程池、线程和handler来实现的核心方法:onPreExecute():在主线程处理一些准备工作。doInBackgroud(Params…Params):在主线程中处理异步任务耗时任务,可以通过publishProgress方法来更新任务的进度。onProgressUpdate(Progress…values):在主线程中执行,当后台任务进度改变触发回调。onPostExecute(Result result):在主线程中,异步任务技术触发回调,原创 2021-06-17 08:52:21 · 519 阅读 · 0 评论 -
Android和JS交互
Android调用JS两种方法1.通过webview的loadURL方法,如果调用js方法,通过webview.loadUrl(“javascript:jsFun()”);如果该方法有参数,直接讲参数拼接进去即可,比如webView.loadUrl(“javascript:jsFun(“”+msg+‘’‘’)”),这种方法调用方式,每次都会刷新页面2.通过WebView的evaluteJavascript(),这种方法调用js后,直接拿到js返回的结果,而且不会每次刷新页面,效率高,版本兼容性差,只支持原创 2021-06-16 08:10:43 · 259 阅读 · 0 评论 -
SharedPrefereses的优化与缺点
SharedPreferencesAndroid 五种数据存储的配置信息方式之一。ContentProvider:将应用的私有数据提供给其他应用使用;文件存储:以IO流形式存放,可分为手机内部和手机外部(sd卡等)存储,可存放较大数据;SQLite:轻量级、跨平台数据库,将所有数据都是存放在手机上的单一文件内,占用内存小;网络存储 :数据存储在服务器上,通过连接网络获取数据。Sharedpreferences(不建议使用)是Android平台上一个轻量级的存储类,用来保存应用程序的各种配置信息,原创 2021-06-14 16:06:50 · 795 阅读 · 0 评论 -
九大危险权限
九大危险权限Android 6.0开始,Google将权限分为两类,一类是Normal Permission, 这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等;另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。有四种动态权限写法1.管理器ActivityCompat //判断用户是否已经给程序授权。第一个参数:context 第二个参数:具体权限名。 if (原创 2021-06-04 20:42:15 · 705 阅读 · 0 评论 -
内存泄漏与内存溢出
1.内存泄漏(memory leak)申请了内存用完不释放,比如一共有1024M的内存,分配了521M的内存一直不回收,那么可以用的内存只有521M了,仿佛泄漏掉了一部分,通俗一点讲的话,就是(占着茅坑不拉屎)内存泄漏和内存溢出属于因果关系,因为泄漏导致内存溢出2.内存溢出(out of memory)OOM定义:App运行时占用的内存超过系统分配给改App的内存,就会出现内存溢出,递归,死循环图片加载(主要原因)1.超大图片(本地图片过大,服务器图片过大)2.大量加载图片并没有及时做回收或原创 2021-06-02 08:31:47 · 445 阅读 · 4 评论