
项目经验总结
文章平均质量分 73
MrCheChe
安卓开发工程师..
展开
-
Android之在app图标添加角标
在做一些推送服务的时候,想在应用图标上添加未读消息,Android桌面角标的适配确实是非常坑爹的需求。原生系统根本就没有这个功能,国内很多厂家效仿ios都自己定义了该功能。现在就为大家介绍部分机型添加角标的代码。1、华为手机上显示角标:(已通过)//添加权限<uses-permission android:name="com.huawei.android.launcher.p...转载 2018-03-06 10:17:43 · 8010 阅读 · 0 评论 -
AssetManager.finalize() timed out 问题再分析及解决方案探究记录
首先,先向大家道歉:上一篇关于finalize() timed out的博客误导了大家,当问题出现后,我们应该找到问题的根本原因,从根源上去解决。然而对于这个问题来说却不太容易实现,和其他问题不同,这类问题原因比较复杂,有系统原因,也有 APP 自身的原因,比较难以定位,也难以系统性解决。探索的过程不会是一帆风顺的,我会努力提高自己对技术探索的严谨性,尽量避免此类错误,提高博客质量,和大家一起进步...原创 2019-05-11 11:26:13 · 2928 阅读 · 13 评论 -
MultiDex 相关问题解决记录
问题1:65536 ,So easy!原因:Dalvik 的 invoke-kind 指令集中,method reference index 只留了 16 bits,最多能引用 65535 个方法。参考=>由 Android 65K 方法数限制引发的思考.解决:dependencies { compile 'com.android.support:MultiDex:...原创 2019-04-24 21:42:58 · 1228 阅读 · 0 评论 -
TimeoutExceptions :AssetManager.finalize() timed out 问题解决
注:以下两种方案均存在缺陷,寻求更好的解决方案请移步:优化解决方案今年6月份以后我们产品线的crash平台莫名出现了大量的TimeoutExceptions,crash的路径页面全部为空,log日志里面有多次的gc操作;一开始以为是网络请求方面的问题导致的,然后仔细排查了工程代码,也没有发现可以点。这个问题一直悬了将近2个月,直到最近crash率超高红线,开始重视此问题,四处请教大神,终于找到...转载 2018-08-02 18:13:16 · 7338 阅读 · 1 评论 -
浅淡飙车技术:Android7.0适配心得
Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的挑战,这几天我将应用适配到Android7.0,其中也遇到了不少问题也踩了一些坑,在这里就把我在Android7.0适配上的一些心得分享给大家,让大家的应用能早一天跑在Android7.0上。权限更改随着Android版本越来越高,Android对隐私的保护力度也越来越大。从Andro...原创 2016-12-29 17:34:52 · 3312 阅读 · 0 评论 -
源码级分析app是如何被启动的
前言一个app的程序是怎么启动的?入口在哪里?听说ActivityManagerServices很屌,Why?Activity生命周期到底是谁调用的?Application又是在哪里初始化的?onCreate又是如何被调用的?面试官常常会问:为什么主线程使用looper.loop不会卡死界面?等等..是不是一直有这样的疑问?很懵逼对不对 - - ,那我们就站在巨人的丁丁上来解决一下这些问题,如果文...原创 2016-12-30 10:35:07 · 3769 阅读 · 0 评论 -
viewPager 结合 PagerSlidingTabStrip 使用tab文字显示不全问题探究
首先看一下这个问题的ui显示(前方高能,各位看官护好心脏):如图第二个标签的文字出现了半字显示!!!!!啊哦?!!这是神马鬼?,那位同学说了,textview展示不下不应该是省略号嘛?!!,难道我发现了安卓控件的bug???先别激动,咱们往下看这个问题是最近项目遇到的,经过反复分析,测试,终于发现出现此问题的原因,总结如下:1.布局中使用了权重适配2.使用代码添加控件(布局文件不会出现)3.控件总...原创 2017-01-05 10:56:15 · 20352 阅读 · 3 评论 -
Android / iOS 静态代码扫描工具调研
Android 篇名称来源功能特点检查SQL 注入检查 NullPointException支持IDE情况Android LintAndroid SDK针对Android,检查范围广否是Eclipse、Android StudioFindBugs国外针对Java程序,失去对Android特性的检查否是Eclipse、Android StudioQA Plug国外集合了FindBugs、CheckS...原创 2017-11-03 13:44:35 · 3644 阅读 · 0 评论 -
小米手机 无法monkey测试
最近在用monkey测试时,发现小米手机无法运行,总是提示无权限,提示异常如下:Injecting to another application requires INJECT_EVENTS permission在网上能搜索到的解决方案都试过了,都没有解决无权限的问题,在绝望的时候开始怀疑系统了,我的手机是小米6 ,最后自己琢磨终于解决了问题。解决方案:打开USB调试(安全设置) 再调试,终于解决...原创 2017-12-20 15:31:01 · 18896 阅读 · 6 评论 -
Android Studio 升级3.0 ,填坑记录
Android Studio的自带Gradle版本是4.1,插件版本是3.0.0,所以如果你使用的是老版本,就会出现一些小的兼容问题,我们看看报了哪些错误呢:问题1Error:(72, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=M...原创 2018-01-24 10:21:06 · 4019 阅读 · 4 评论 -
android 竞品分析工具对比
最近一段时间因为琐事(有公有私)太多,加上搬家后,家里断网了一周,虽然有很多东西想写,但却迟迟没有动手。好在目前基本事情都搞完,又可以愉快的写东西了,所以,接下来博客更新的频率将会有所提高。写博客的好处是很多的哈,一方面总结可以分享也方便自己回顾,另一方面是当作者对知识点理解可能存在局限(或者错误)时,读者也会帮你指出。前言本文整理了一些自己在开发过程中经常会用到的竞品分析工具,这些工具可以帮助分...原创 2018-03-02 10:56:43 · 3871 阅读 · 0 评论 -
Android WebView项目实战记录(兼容,填坑,全方位)
1、关于WebView的使用:****与JS交互****拨打电话、发送短信、发送邮件上传图片(版本兼容)进度条设置字体大小设置返回网页上一层、显示网页标题全屏播放网络视频首页2、文章说明WebView的使用已经是老生常谈了,看到很多文章说了用法,但我很少看到全的或者是项目中可以直接使用的,都是看了很多后,自己把功能都集合在一起。这里是一份比较全面的WebView项目应用篇,其中已经解决了应用时出现...原创 2018-03-02 11:17:17 · 3580 阅读 · 0 评论 -
Android App 优化之消除卡顿
1, 感知卡顿用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或是实现不够好, 设备又不给力, 界面就会像卡住了一样, 给用户卡顿的感觉.1.1 16ms原则在剖析卡顿的原因之前, 我们先来了解下Android中著名的"16ms"原则:Android系统每隔16ms会发出VSYNC信号重绘我们的界面(Activity).为什么...原创 2018-03-06 09:50:26 · 13938 阅读 · 0 评论 -
Mac 从零搭建Android开发环境记录以及提高效率软件推荐
背景:近期工作发生变动,开发环境由windows转向了mac,此前对mac了解甚少,在此记录下配置开发环境的过程,并分享一些高效的工具。一. 配置Java环境虽说Android Studio自带了JDK但是OpenJDK还是和JDK有些差异的 为了以后不出现莫名其妙的错误,建议更新使用JDK(Oracle公司开发的)1.首先下载安装JDK下载地址http://www.oracle....原创 2019-05-12 21:46:51 · 1371 阅读 · 1 评论