
Android开发
文章平均质量分 70
a990924291
You can be if you wanne
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Maven发布插件使用指南
Maven发布插件使用指南前置maven发布插件可以发布产物到 Apache Maven 代码库。Android Gradle 插件会为应用或库模块中的每个构建变体工件创建一个组件,您可以使用它来自定义要发布到 Maven 代码库的发布内容。需要Android Gradle 插件 3.6.0 及更高版本。Android Gradle 插件发布内容工件组件名称com.android.libraryAARcomponents.variantcom.android.appl原创 2020-12-09 09:25:49 · 1407 阅读 · 1 评论 -
功耗优化-页面停留功耗从100mmA到0
功耗异常,可以通过查看cpu执行情况和布局方式逐步定位。在实际中,耗电统计需要专门的仪器。普通开发者最简单的方式是通过手机的耗电统计。本次主要经过:去除透明度——分析颜色值明暗——去掉软件加速。实现了页面停留功耗从100mmA到0。原创 2019-08-03 18:28:28 · 419 阅读 · 0 评论 -
动画优化的实践总结
动画类型帧动画:通过序列帧实现,间隔一段时间播放一张图片。实现简单,但是性能最差 补间动画:输入动画类型(透明度,大小,移动,旋转),开始参数和结束参数。通过插值器控制变化速度。实现相对简单,但是并没有真正改变view的所在位置,只是显示变化。 属性动画:ValueAnimator,ObjectAnimator和animatorSet。动画优化的核心,见后续详情帧动画优化实现动画...原创 2018-12-31 16:56:55 · 652 阅读 · 0 评论 -
android实现图片向上展开和慢慢折叠的过度动画
需要实现的的效果描述:一开始是完全显示的,然后高度慢慢减少,图片自上而下消失。分析:这个效果看似很简单,但是实际上根据常规的android机制,是很难以实现的。常规方案Imageview变化大小,只会整体压缩,不可行 外布局一个RelativeLayout,Imageview靠底部对齐,然后自上而下减少外布局高度,也会压缩图像,还是不可行 用一个空白的布局慢慢遮挡图片,实现...原创 2018-12-16 22:31:38 · 3199 阅读 · 2 评论 -
执行广播反注册时,页面暂停
问题:Caused by: java.lang.IllegalStateException: No hostat android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1194)at android.support.v4.app.FragmentManagerImpl.moveToStat...原创 2018-12-04 23:28:58 · 205 阅读 · 0 评论 -
JUnit4的基础知识介绍
JUnit4的常用注解:@Test:测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class)异常测试,(timeout=xxx(毫秒))超时测试@BeforeClass:它会在所有的方法运行前被执行,static修饰@AfterClass:它会在所有的方法运行结束后被执行,static修饰@Before:会在每一个测试方法...翻译 2018-12-03 23:17:35 · 416 阅读 · 0 评论 -
webView脚本js定时器无限执行的问题
webView脚本定时器无限执行的问题2017年3月一、前言(问题提出)2017年3月31日,开发人员在fiddler抓包自测过程中,发现页面停留在一个没有任何网络请求的页面时,fiddler显示不断有相同URL的网络请求,间隔大概5s。该网络请求在不断的销毁系统资源,增加系统的功耗。二、问题原因过程通过步骤复现,当进入一个webView页面后,就算该WebView结束后(...原创 2018-12-03 23:16:38 · 1474 阅读 · 0 评论 -
Android网页广告植入规避方案
Android网页广告植入规避方案一、前言(问题提出)网页经过dns,运营商或者被截取的时候,就可能被非法注入广告,甚至是诈骗链接。在移动端尤其严重,特别是webView。二、实现方案(实现、改进方案、解决思路)问题现象 小米商城被植入广告图问题分析dns植入,经过dns时,有可能被注入...原创 2018-12-03 23:12:24 · 407 阅读 · 0 评论 -
图片加载缓存策略
背景图片如果需要可动态配置,就需要使用网络图片;目的:图片及时刷新,高速缓存,不闪现;实现:1、网络图片url:必须保证每个版本的url地址都不一样,客户端一般使用url作为key来缓存2、加载策略:(1)layout文件,固定图片大小,并且声明一张默认图片(2)读取本地缓存的图片,读取成功则设置;(3)请求网络图片url,比较上次的url: SharedPref...原创 2018-12-03 23:08:49 · 369 阅读 · 0 评论 -
Fragment懒加载
Fragment的resume和onPause是依赖于Activity的;不是真正的状态应用场景:viewPager+Fragment+ListView中viewPager缓存左右两个页面,会刷新listview数据,直接改变当前的listview,出现错误,加载异常等问题;实现:public abstract class LazyFragment extends BaseF...翻译 2018-12-03 23:04:59 · 143 阅读 · 0 评论 -
单例模式
单线程: public static Object getInstant(){ if(mIntants == null){ mIntance = new Object(); } return mIntance; }说明:单线程比较简单,只是需要保证第一次new对象,后续复用即可,常见于Application的...原创 2018-12-03 22:59:40 · 730 阅读 · 0 评论 -
crash的实践总结
相信编译器大部分Crash应该都是有空指针异常导致的 对于大部分的简单的空指针异常,请相信编译器。Android studio中,对于大部分可能出现异常的情况,都会有相应的警告。 请尽量处理编译器的警告 大部分项目,应该eclipse中开发,可以转换为android studio项目,或者将代码复制到android中。 android studio的警告,错误提示比eclipse好的多...原创 2018-12-03 22:52:49 · 515 阅读 · 0 评论 -
Andoroid性能优化
一、页面启动优化: 页面启动慢主要有2种页面渲染慢和java代码初始化慢的问题。页面渲染: 1、最少布局嵌套 布局嵌套渲染极其耗时,减少不必要的嵌套就能大大提高启动速度。原理可参照view的渲染过程新版本谷歌推荐ConstraintLayout布局,该布局能只有一层布局就能界面绘制。但是对于简单的使用releactionLayout和LinearLayout布局,简单的绘...原创 2018-12-03 22:44:11 · 251 阅读 · 0 评论 -
内存优化排查
一、摘要该部分属于进阶内容,要先掌握了java内存回收机制,说白了就是引用计数法和可达性分析法。但是代码写的再认真,也难免出现一两个差错。这一两个差错就会导致内存泄漏,轻则内存增大,重则内存溢出。二、背景自从引入了WebView,内存变得难以测试,因为WebView内存不可控,一加载就导致内存暴涨,所以最近比较少跑内存测试了。直至在jara系统上反馈了项目出现内存crash,没办法,必...原创 2018-12-03 22:38:01 · 269 阅读 · 0 评论 -
Systrace的使用总结
目的: 为了提高apk的性能,使得apk在任何情况下,包括:cpu使用频繁,内存较少,用户重度使用手机(即用户使用一年后的情况,包含大量的图片,音乐和应用数据)都能够快速启动。 慢启动标准:1000ms。 一般启动标准:对标友商的启动时间。(一般为100ms)统计方法: monkey测试平台自动统计启动最久的时长和超时次数。 在event log中,搜索“am_activi...原创 2018-12-03 22:30:49 · 1629 阅读 · 0 评论 -
自定义控件
1.相关说明View这个类代表用户界面组件的基本构建块。View在屏幕上占据一个矩形区域,并负责绘制和事件处理。View是用于创建交互式用户界面组件(按钮、文本等)的基础类。它的子类ViewGroup是所有布局的父类,它是一个可以包含其他view或者viewGroup并定义它们的布局属性的看不见的容器。实现一个自定义View,你通常会覆盖一些framework层在所有view上调用的标准方...翻译 2018-12-04 23:32:20 · 189 阅读 · 0 评论 -
基于livedata实现的mvvm_clean
一、mvvm是什么引用度娘:MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑m(Model):数据源,主要包括网络数据源和本地缓...原创 2018-09-03 19:56:18 · 1097 阅读 · 0 评论