android开发笔记
文章平均质量分 79
小唯_learn
这个作者很懒,什么都没留下…
展开
-
view的context一定是Activity吗
最近在使用glide加载图片的时候出现“”,但明明在使用glide之前已经进行了Activity是否destroy的判断,为什么还会发生这个crash呢?注意到Android版本为4.4.2,对应crash中glide使用的context为view.getContext(),所以是不是因为view.getContext()不是Activity类型,所以没有走到判断逻辑,debug发现此时的view.getContext()为类型,这是为什么呢?原创 2022-11-18 16:09:30 · 1009 阅读 · 0 评论 -
Android中关于aar打包和集成
最近项目中需要更新sdk版本,基础库moudle B 依赖sdk版本。更新sdk版本的话->需要替换B中的sdk并将B打包成aar集成到主项目A中,原以为很easy的事情结果修改后运行项目一直报错“”。但sdk版本是有这个方法的呢,编译也未报错,尝试了清除缓存等方法后还是报错,不明白为什么运行后打开app就会闪退报错呢。后来定位到因为aar包对应的B中的sdk是放在lib下的,打包成aar但对应的B中的lib也需要放到主项目A中的lib下,否则就会报错方法找不到。原创 2022-11-14 14:53:49 · 2094 阅读 · 0 评论 -
Android动态切换本地源码依赖与maven依赖
不管项目架构是组件化、模块化等,我们一般都会把一些基础库放在一个单独工程B中,通过maven或是打包aar的方式集成到主工程项目A中。然而当解决问题需要添加Log日志或是修改基础库时,我们只能在B中进行修改,通过maven或是打包aar集成到A中进行验证。如果验证还有问题,重复操作。这个时候我们就会想如果直接依赖基础库源码的话就很方便,验证成功之后再上传maven或是打包aar。这篇文档为了记录动态切换本地源码依赖与maven依赖,也就是通过变量控制是否依赖基础库源码还是依赖aar包。原创 2022-11-14 11:11:32 · 1625 阅读 · 0 评论 -
Sdk开发流程,导入Project
最近遇到一个新需求,需要将功能封装成sdk,提供给多方使用,所以抽时间学习下sdk开发流程,并记录。创建Module创建module,选择Android Library,如下图所示:创建好module后,可以进行相应sdk开发工作。生成导出aar点击rebuild project可以在build/output/aar包下生成相应的aar文件。集成aar到project中将aar包copy到project的libs下,aar包名为test.aar为例,在app下的build.gradle中加原创 2020-09-13 10:16:52 · 731 阅读 · 0 评论 -
记ViewPager使用白屏问题
最近在做项目的时候,遇到了ViewPager空白白屏问题,所有有了本篇文章,从源码分析,记一次ViewPager白屏问题。如下图所示:一.切换Tab3后点击Tab1,ViewPager页面出现空白:ViewPager默认缓存1个页面,设置当前页面左右页面预加载页:点击Tab1,日志如下:10-18 15:07:26.195 D/xxx: initView010-18 15:07:26...原创 2019-10-18 16:19:18 · 2044 阅读 · 0 评论 -
Android页面嵌套那些事
前段时间做一个页面需求,就是经典的复杂嵌套,scrollview嵌套viewPager+fragment,其中fragment是一个recyclerView,虽然官方不建议这种页面嵌套,但这种页面布局在开发中是很常见的一种,此篇文章记录一下开发过程中页面中的各种嵌套问题,包括viewPager的高度自适应问题。一.Scrollview嵌套ListviewscrollView嵌套listview...原创 2019-10-16 18:53:59 · 901 阅读 · 0 评论 -
从源码角度理解Can not perform this action after onSaveInstanceState异常
在开发中经常遇到Fatal Exception: java.lang.IllegalStateException:Can not perform this action after onSaveInstanceState异常,那这个异常出现原因是什么呢,怎么解决呢?问题描述出现Fatal Exception: java.lang.IllegalStateException:Can not pe...原创 2019-05-16 18:20:21 · 5924 阅读 · 1 评论 -
crash总结
在工作中会定时解决crash问题,此篇文章是对遇到的crash进行记录。持续更新。。。。。。1.Fatal Exception: java.lang.IllegalStateException:Fragment CustomerSearchFragment{ac94a87} not attached to Activity问题截图:问题原因:Fragment还没有attach到Activit...原创 2019-04-09 16:52:02 · 266 阅读 · 0 评论 -
TextView的autoLink属性设置超链接问题
需求如下:用一个view展示"请点击https://mp.csdn.net进行查找"这句话,并点击链接地址时可以进行跳转。最近接到类似的这种需求,网上查找资料学习到了TextView的autoLink属性,那autoLink是怎么使用的呢?为什么设置autoLink就可以实现TextView的超链接,底层是怎么实现的呢?TextView显示时自动排版不整齐,怎么解决呢?Te原创 2018-10-16 15:18:16 · 5797 阅读 · 2 评论 -
性能优化之过度绘制篇
最近接到一个任务,优化项目中的过度绘制问题。提到过度绘制,脑海中会浮现出include,merge,ViewStub标签,减少ViewTree的层次等等优化布局相关,但具体怎么进行优化,有一种无从下手的感觉。认真仔细阅读了官方文档中关于绘制过度的讲解,豁然开朗。 网上关于过度绘制的博客也不少,但自己喜欢对自己做的功能进行总结记录,所以抽时间写下本篇博客,对过度绘制进行总结,方便日后查阅。...原创 2018-09-13 12:19:15 · 3018 阅读 · 0 评论 -
android6.0运行时权限
一.概述为了保护系统的完整性和用户隐私权,android6.0(API 级别 23)引入了运行时权限的概念。 1.概念: android6.0运行时权限是使用户可直接在运行时管理应用权限的一种新的权限模式。 2.变化: 对象\系统版本 Android6.0以下 Android6.0以后 用户 用户只有在同意权限列表之后才能完成应用的安装 用户可为所安装的各个应用分别授予或原创 2017-06-20 17:53:03 · 450 阅读 · 0 评论 -
Android中点击链接调起App
最近工作中的一个需求是点击短信链接则调起App然后完成相关功能逻辑,查阅相关文章完成需求,以此文章来记录Android中点击链接吊起App的实现。原创 2017-09-12 14:36:07 · 2178 阅读 · 0 评论 -
Android7.0打包安装问题
Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,先使用APK Signature Scheme v2签名打包,然后再使用python脚本打渠道包后,安装在7.0手机上出现安装失败的问题。本文主要是阐述问题出现的原因和解决方案。原创 2017-06-27 15:39:23 · 1166 阅读 · 0 评论 -
Android7.0的FileProvider
为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问。 所以从 Android 7.0 开始,禁用file:// URI,而是需要通过FileProvider生成content://URI去授予临时访问权限的方式实现应用间共享。否则系统会直接抛出 FileUriExposedException 异常, 应用出现故障。本文介绍FileProvide的使用。原创 2017-06-29 17:22:40 · 2727 阅读 · 0 评论