- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Android APP启动优化
随着项目越来越大,项目中使用的一些组件和一些第三方的SDK越来越多,大多数的SDK和组件都需要在Application中进行注册和初始化,这一系列的注册和初始化将Application.onCreate方法执行时间变的很长,给用户的体验就是点了APP图标后白屏或者黑屏好久才能进入应用,造成了很不好的体验。对于我们APP的启动来说分为热启动和冷启动,这里我们只针对冷启动进行优化,因为如果冷启动优化的好,热启动也同样会被优化。耗时检测做优化之前我们要对我们的各个方法进行耗时检测,确定下具体的耗时的任务.
2021-09-06 20:49:40
170
原创 移动端的弱网优化
移动端的网络千变万化,存在各种异常的场景,比如网络环境2G、3G、4G、5G、wifi,比如地理环境地铁、野外。在上面的一些环境中如何尽可能的保证用户访问应用是一个优秀的开发需要考虑的事情。我们知道一次http网络请求包括域名解析、网络连接、构建请求并发送、数据传输、数据解析。从上面这几点中我们可以逐点进行优化。域名解析DNS服务是网络连接前,将域名解析为IP地址,方便网络请求。DNS查询时会优先查询本地缓存,如果没有或者过期会向DNS服务器(一般为运营商DNS服务器)查询。国内的网络环境D.
2021-08-30 10:02:51
549
原创 Hybrid APP(混合应用)开发指南
在快速迭代、人员成本、用户体验上面综合考虑,越来越多的公司选择了混合应用开发作为移动应用开发的方式。我司也是出于这几方面的考虑,最后也决定使用混合开发模式来代替现在的纯原生开发模式。在混合应用的探索上面,有很多的选择,也有很多的坑,题主摸索的一些经验和方法在这里做记录和分享,希望能帮到一些人。 混合应用这里简要讲一些什么是混合应用,混合应用是指部分业务和功能使用原生...
2020-05-01 15:36:39
1066
原创 Activity和Fragment的生命周期和使用注意
Activity和Fragment是安卓开发中用的最多的两个组件,所以我们需要对它们的生命周期有一个很清晰的认识。目前很多工作好多年的开发对一些细节不是很清楚,经常会导致一些bug的产生,在下面我会对生命周期做一些详细的介绍和一些开发中的常见注意事项。 下面用一张图简要的介绍下各生命周期:从上面这张图我们可以知道Fragment的生命周期遵循着Activity,Acti...
2018-03-28 21:08:24
327
原创 Android MVP(Model View Presenter)
背景 前一段时间对公司项目进行了重构,在架构上面由原来的MVC模式切换到现在使用的MVP模式,经历了一段时间线上的的维护和升级决定写一些关于MVP模式的思考和反思。本文主要讲一些对MVP模式的介绍、和MVC模式的对比、以及怎么使用MVP模式来构建应用,最后给出一些意见。 一、关于mvp模式的一些介绍MVP模式主要是对关注点进行分离,在MVP中将应用程序划分为三层。 * Model 持有
2017-07-15 15:04:22
670
原创 Android Gradle的详细示例教程
Gradle相关博文: 1. Groovy脚本基础全攻略:http://blog.youkuaiyun.com/yanbober/article/details/49047515 2. Gradle脚本基础全攻略:http://blog.youkuaiyun.com/yanbober/article/details/49314255Module的gradle配置文件// 声明是Android程序apply plugi
2017-01-06 10:05:02
403
原创 wampserver You don't have permission to access / on this server. 解决 方法
最近在安装wampserver3.0.6之后准备学习thinkphp,然后想要打开thinkphp/start.php,但是却报403错误。 经过百度结果说更改阿帕奇httpd.conf配置文件,但是在配置文件中不能搜索到该配置。 onlineoffline tag - don’t removeOrder Deny,AllowDeny from allAllow from 127.0.0.1
2017-01-05 11:55:07
2305
原创 Crosswalk--深度定制webview
前言: 最近项目中需要使用h5来开发定制Android平板的应用,无奈平板性能很差,在原生控件webview中运行动画效果不忍直视。于是想到使用第三方的控件:Crosswalk.1.Crosswalk了解**简介**crosswalk是一款开源的web引擎,在Android4.0以上的系统中使用Crosswalk可以让应用程序在h5方面上获得一致性体验。 **优势**crosswalk采用的是Ch
2017-01-05 09:49:55
6391
原创 Android进程间通信之Messenger
在安卓中进程间通信的方式有多种,其中我感觉最简单的应该是Messenger。messenger直接翻译过来意味“信使“,我们可以将Message对象通过Messenger发送给其它进程,从而实现进程间的通信。Messenger的底层是通过AIDL来实现的,所以它的使用会比AIDL来的更简单。下面给出两个Messenger的构造函数,之后我们会用到的:public Messenger(Handler
2017-01-04 08:53:25
349
原创 Serializable和Parcelable的区别
首先Serializable和Parcelable都是用来完成对象的序列化和反序列化的,在安卓里在Activity之间互传对象需要将该对象实现Serializable或者Parcelable两个接口,或者在做持久化存储的时候也可以通过实现上面两个接口来进行序列化存储到本地,但是笔者做的较多的是使用fastjson转成String,实验得到fastjson的效率较Serializable要高。1.Se
2017-01-03 09:58:51
747
原创 仿微博高斯模糊发布菜单
微博往往是各个PM&设计在出需求和设计稿争相模仿的对象,在微博中大家点的最多应该就是中间的小+号。点击加号弹出一个页面,背面是当前页面高斯模糊后的效果,各个按钮在上弹是呈现果冻效果。在实现上我们需要的关注的技术点有: - 如何取到当前页面的图片 - 如果对图片进行高斯模糊处理 - 如果处理动画让弹出不是很突兀 1. 获取当前页面的截图获取当前页面的截图我们可以通过以下代码:/**
2016-12-29 20:58:24
354
kotlin英文教程
2018-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人