前言:在开发中,每个人或多或少会遇到各种各样的问题,有些问题依据代码思路调试就可以定位出来,而大部分的问题都是经验性问题,遇到过就很容易解决,但在第一次遇到时往往会花费大量时间来定位问题。针对此种情况,下文把做开发以来遇到的经典问题整理出来,希望对有需要的朋友...
《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备面试的同学,也可以帮助正在学习和工作的同学梳理自己的...
上篇文章一个千万量级的APP使用的一些第三方库中,在说到一个使用很广泛的滑动退出库SwipeBackLayout时有提过有时间会分享自己在项目中引入这个库的时候填过的一些坑。前段时间项目加入沉浸式状态栏效果的时候也走了不少弯路,而且两者结合效果还不错,就一起分...
Android 6.0版本对于程序员兄弟来说最不友好的就是权限的问题,动态权限的设置曾经让我很苦恼,目前大部分关于6.0权限设置的框架基本都是一次性访问多个权限(EasyPermissions),这样导致的问题就是如果我们申请了三种权限,而用户只同意了其中一种...
通缩易懂,简洁明了...
什么是内存泄漏 内存泄露,简单的说,就是该被释放的内存没有被释放,一直被某个或某些实例所引用但不能被使用,导致GC不能回收,造成内存泄漏。总结的说,可以理解为长生命周期的对象一直持有短生命周期对象的引用,导致短生命周期对象一直被引用而无法被GC回收,内存泄漏是...
最近项目中遇到一个需求:新手引导。跟一般的新手引导没有什么太大区别,思路都是搞一个带阴影的遮罩层,然后在上边儿给一些提示性的文字,由于需求中有些特殊的地方,所以我用了一个全屏的dialog(而且,dialog自带阴影效果)来做新手引导这个需求。 弹出键盘 ...
本文记录的是我对 Android 的「系统缓存」及其扫描和清理方法的探索与理解。 本文讲述内容的完整代码实例见 。 系统缓存的定义 如下是我捏造的非官方定义: 系统缓存: An...
转载请标明出处:一片枫叶的专栏 在上一篇文章中我们介绍了在Android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,启动页屏蔽返回按键等等,而在本文中我们将要介绍一下在App产品研发中都会复写的基类Activity,具体可参考...
display info of device Github链接 Download 扫描二维码进行下载或者点击下载 通过运行DisplayInfo获取当前设备屏幕的尺寸信息,...
前言 权限分类 普通权限(Normal Permissions) 危险权限(Dangerous Permissions) 特殊权限(Special Permissions) 申请SYSTEM_ALERT_WINDOW权限 申请WRITE_SETTINGS权...
Android 应用不可避免得会发生 Crash,也叫做做崩溃。收集这些异常信息并把它们发送都服务器是尤为重要的。 Android提供了解决此类问题的方法,Thread 类中的一个方法是 setDefaultExceptionHandler,作用就是设置默认异...
上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxPermission。这里不再介绍Android 6.0运行时权限了,...
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适...
前言 工作找完了,已经干了两个星期。虽然经常加班,不过相比之前的工作,现在过得更加充实、更有意义。现在有点空闲时间,继续我的分享之旅~~ 效果 什么都不说,先看个炫酷的效果。 效果 ‘什么,这也算炫酷?’也许你会这么说如果我告诉你,这个页面中只用了一个Te...
之前也处理过6.0后的权限问题,直接处理很是麻烦。这次在github上搜到了关于权限星数最多的PermissionsDispatcher这个库,几个注释完美解决权限问题。 第一步 添加各种注释 @RuntimePermissions 注释在需要权限的Act...
GitHub上有很多解决AndroidM运行时权限的库,但是个人不想就因为一个权限问题而引入一个库,所以集各位库中的代码,简单封装了一个工具类。使用起来很简单。 由于时间匆忙,所以后期有时间会再继续进行优化。 使用 以拨打电话为例,首先在Manifest文...
我学习最快的方法就是先看效果,再想原理最后,将它实现。效果是最直观的,而且能够有效的判断所学的东西是不是想要的。现在网上的资料实在太杂,很多花了很多时间去研究,最后发现坑爹了,不是想要的。这篇文章首先会介绍能实现的主要功能。然后是解决问题的基本思想,接着是具体...
监听当前网络的状态和类型 类似京东客户端,当网络发生变化时相应更新UI界面 1 github地址: 使用广播监听当前网络的状态。 配合Application周...
一、反编译代码 1、反编译java代码首先需要下载dex2jar这个工具,下载地址:目前最新版是2.0, 下载完后并解压缩。2、将要反编译的apk文件重命名为zip格...
说说我自己吧,应届生一枚,大专学历,软件专业,在学校也学得不怎么样,刚开始出来找工作很不容易,万幸的是,还是有公司要我了。进公司也快一个月了,明天就是国庆长假了,趁着自己有时间,写点博客,记录下自己的学习经历,希望能够帮助到别人。 单例模式 简单点说,就是一...
这里的多语言切换专指应用内的多语言切换,不涉及直接通过应用修改系统语言设置的功能。比如微信里面的 举个例子,假如 App 支持简体和繁体两种设置,默认界面为“中文简体”。 如果用户选择“中文简体”,那么展示简体界面; 如果用户选择“中文繁体”,那么展示...
第一章 Android 来源:Yury Zhauniarovich | Publications 译者:飞龙 协议:CC BY-NC-SA 4.0 Android 安全架构的理解不仅帮助我了解 Android 的工作原理,而且为我开启了如何构建移动...
当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。 如果某个应用组件启动且该应用已存在进程(因为存在该应用的其他组...
在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以往直接sdcard根目录上直接新建了一个xxx/cache/目录来做...