- 博客(16)
- 收藏
- 关注
原创 由ViewPager动态适配Item的高度引发的“血案”
需求背景:在RecyclerView做的列表页面添加一个ViewPager效果,这种嵌套问题有很多坑,但是也得硬着头皮做下去,下面把遇到的问题慢慢抛出来。1、RecyclerView嵌套ViewPager滑动冲突,ViewPager上划无效参考:https://www.jianshu.com/p/ee9ebd9adad62、RecyclerView嵌套ViewPager高度显示问题一般情况...
2019-07-12 18:27:35
942
原创 ListView中的Item项中有Button按钮时,setOnItemClickListener点击无效原因分析
https://www.jb51.net/article/77792.htm当ListView中包含Button、CheckBox等控件的时候,Android会默认将焦点给了这些控件,也就是说ListView的item根本就获取不到焦点,所以导致onItemClick时间不能触发。今天得空,做一个简单分析。刚才百度了一下,找到两种解决方法,如下:1、在Checkbox、Button对应的Vi...
2019-05-08 16:48:15
1188
原创 如何在Android Studio中发布本地maven库
https://blog.youkuaiyun.com/xmxkf/article/details/80674232https://blog.youkuaiyun.com/xuehuayous/article/details/81776254https://blog.youkuaiyun.com/localhost01/article/details/84350773// 发布maven配置apply plugin: ...
2019-04-12 15:00:30
1462
原创 Android内存泄漏分析和解决方案
发生内存泄漏的原因内存空间使用完毕后没有被回收,就会导致内存泄漏。虽然Java有垃圾回收机制,但是Java中任然存在很多造成内存泄漏的代码逻辑,垃圾回收器会回收掉大部分的内存空间,但是有一些内存空间还保持着引用,但是在逻辑上已经不会再用到的对象,这时候垃圾回收器就很无能为力,不能回收它们。比如:忘记释放分配的内存;应用不需要这个对象了,但是却没有释放这个对象的引用;强引用持有的对象,垃...
2019-03-16 12:53:24
820
原创 Android端ijkplayer集成在debug版中可以播放,在release版中不可以播放的
集成ijkplayer播放功能的App,在debug版本能正常使用播放功能,但是打的release包,点击播放,App崩溃,出现如下错误日志:java.lang.UnsatisfiedLinkError: JNI_OnLoad failed on a previous attempt to load "/data/app/com.demo.app-xK6J215tr42CfRNgSN1e-w==...
2019-03-07 17:33:24
1122
1
原创 Flutter与Android的差异性
一、Views1.1)、Android的所有的控件都是View,在Android上View绘制结束后,就不会重绘,知道调用invalidate时才会重绘; Flutter中是Widget,它仅支持一帧,并且在每一帧上,flutter的框架都会创建一个widget实例树(相当于一次绘制整个界面)。1.2)、Android中可以通过直接对view进行改变来更新视图;而widget是不可变的,不会直...
2019-03-07 14:27:03
2044
原创 添加Flutter到现有Android的项目
1、新建一个Android项目2、在Android项目的同级目录下,创建一个Flutter Module3、在Android的项目目录下的settings.gradle中增加include ':app'setBinding(new Binding([gradle: this]))evaluate(new File( settingsDir.parentFile, ...
2019-03-07 14:23:27
454
原创 解决Android Studio打包生成apk装到手机后闪退或者build/outputs下面找不到apk的问题
今天,在 Android Studio 中通过运行项目安装到手机上的app 程序正常,然后把build→outputs文件下的 apk 安装包,发给测试后,测试反馈安装后打开闪退,抓紧把那个apk安装到自己手机上,发现果然存在闪退。查阅资料后,解决方案总结如下:1、把 Android Studio 的 Instant Run 给关掉,File → Settings → Build,Executi...
2019-01-07 10:21:49
8146
2
原创 如何在 github 上添加 SSH key
git支持https和git两种传输协议github分享链接时会有两种协议可选:git使用https协议,每次pull, push都会提示要输入密码,使用git协议,然后配置上ssh密钥,这样免去每次都输密码的麻烦。初次使用git的用户要使用git协议大概需要三个步骤:一、生成密钥对二、设置远程仓库(本文以github为例)上的公钥三、把git的 remote url 修改为git...
2018-11-09 17:04:10
2290
原创 解决Fragment中调用getActivity()为null的多种方法
发现问题在使用Fragment的时候经常会遇到getActivity()为null的情况,比如,在一个异步网络请求的回调中调用getActivity()就会出现空指针的问题,之前解决这个问题,都是直接加空指针判断来规避,但是这个问题并没有真正的解决。还有一种现象,如果App长时间在后台运行,再次进入App的时候,可能会出现Crash,还有Fragment会有重叠现象。假设我们的页面叫MyAct...
2018-10-25 14:55:25
7721
1
原创 Activity的启动模式
先说一下任务栈的概念Android引入了基于组件开发的软件架构,虽然我们开发Android程序,仍然使用一个Apk工程一个Application的开发形式,但是对于Application的开发就用到了Activity、Service等四大组件,其中的每一个组件,都是可以被跨应用复用的,这就是Android的神奇之处。虽然组件可以跨应用被调用,但是一个组件所在的进程必须是在组件所在的Applic...
2018-07-26 15:27:45
162
原创 Activity的生命周期总结
在分析Activity的生命周期的时候,分成了两部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。典型情况下的生命周期,是指在有用户参与的情况下,Activity所经过的生命周期的改变;异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration发生改变从而导致Activity被销毁重建,异常情况下的生命周期的关注点和典型情况下的有一些不同。...
2018-07-19 16:42:33
939
1
原创 解决Gradle Build很慢的另外一种思路
关于加快Gradle的构建速度,网上已经有很多帖子了,那是通常的一个思路,我试过了,对我来说并没有明显的作用。这里我要说的是另外一种思路,就是根据不同的运行环境,使用gradle.startParameter.taskNames,我们可以选择性的添加应用插件了。举个例子,就说我的问题,可能也是我项目的原因,我的gradle中插件,依赖很多,其中有一个关于热修复的apply plugin:'robu...
2018-04-26 17:34:14
4524
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人