努力才有可能得到!

博主github开源地址:https://github.com/devyok

大型移动应用解决之道 - 组件化

在插件化那篇文件中,我们介绍了插件化解决了很多痛点问题,很完美的方案,不管是研发还是产品都爱不释手,但是插件化的实现并不是这么容易就能应用到产品中,还是要折腾折腾的,其次还要看团队中有没有大神级人物能hold住。

2018-01-24 10:01:36

阅读数 289

评论数 0

大型移动应用解决之道 - 前言

大型移动应用解决之道 - 前言大型移动应用解决之道 - 多进程大型移动应用解决之道 - 插件化大型移动应用解决之道 - 组件化大型移动应用解决之道 - 动态化大型移动应用解决之道 - 业务框架化大型移动应用解决之道 - 升级精准化大型移动应用解决之道 - 测试自动化大型移动应用解决之道 - 代码检...

2018-01-24 09:54:05

阅读数 246

评论数 0

大型移动应用解决之道 - 依赖管理

如果我们足够细化架构,那么必然会有通用的组件或模块被提取出来,通常每个通用组件或模块都有专门的团队来负责开发维护,既然是通用的,那么其他功能模块的研发团队都需要依赖他们来做事情,而依赖的方式大概有以下两种

2018-01-23 17:42:21

阅读数 302

评论数 0

大型移动应用解决之道 - 插件化

插件化这个词相信读者并不陌生,比如,我们的IDE(eclipse,As等)都具有支持插件的能力,如果了解Windows开发的读者对DLL这种机制也并不陌生,包括一些Web应用服务器(jboss等),他们也都实现了osgi的模块化的规范,可以实现类似插件的功能,在无需停止服务器的前提下就可以上线一些...

2018-01-12 15:57:58

阅读数 706

评论数 0

大型移动应用解决之道 - 多进程化

面临的问题? 随着业务部门在移动平台的需求量越来越多,功能需求在单向递增,N个功能模块在同一个进程中去争抢内存,如果使用不当,会带来很多稳定性的问题(卡,慢,崩)。 功能需求增多之后,将会带来以下问题: 1. 最直观看到的便是应用的体积变大,即DEX文件变大,当被映射到内存时,这部分内存很难被卸载...

2018-01-12 15:57:09

阅读数 362

评论数 0

iOS开发 - 3个经常被忽略的iOS编码规范

对于编程开发来说,编码规范是不可或缺的一个环节。在iOS开发领域,苹果也有官方的编码规范文档:《Coding Guidelines for Cocoa》。尽管对官方的这些权威指南,每一个iOS开发人员都应当去遵守,但在不少视频教程、文章、示例代码中,依然经常可以看到违反编码规范基本原则的情况。本文...

2018-01-22 12:51:12

阅读数 200

评论数 0

iOS开发 - WebView的Hybrid框架设计

前言随着移动互联网的发展,APP 开发模式也在不断的创新,从最初的 Native 开发到后来的 Hybrid 混合开发,再到最近比较火爆的 React Native、Weex 等项目,这些都标志着 APP 开发已经不再是纯 Native 的工作,还要涉及很多跨平台的技术。

2018-01-22 09:35:18

阅读数 320

评论数 0

kotlin 视频教程

kotlin视频教程

2018-01-18 10:22:28

阅读数 2393

评论数 0

Android混淆最佳实践

综述毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避64K方法数的瓶颈...

2018-01-18 10:10:55

阅读数 150

评论数 0

iOS开发 - 通过cocoapods管理框架

首先查找下框架,是否能够正确安装 pod search 框架名称 从列表中中选择你用使用的版本 首先在新建的工程目录下,添加Podfile文件,然后编辑文件内容 platform :ios, '8.0' target 'cocoapods-test' do pod 'Masonry','...

2018-01-13 17:17:11

阅读数 131

评论数 0

iOS开发 - cocoapods安装失败

在安装cocoapods时提示: YAML safe loading is not available.Please upgrade psych to version that supports safe loading(>=2.0) 查看本机支持的镜像 gem sources...

2018-01-13 16:40:42

阅读数 4328

评论数 0

Replugin与DroidPlugin框架比较

进入这篇文章阅读的读者,相信对这两个框架都有了一些了解,这篇文章主要是笔者对这两个框架的技术实现不同的地方进行的一个总结,希望能帮助读者理解这两个框架。   Replugin与DroidPlugin共同面临的问题   1. 插件中的组件(Activity等)启动的问题? 2. 插件中的Class如...

2018-01-12 15:55:45

阅读数 2661

评论数 0

Dvm的进程和Linux的进程

Dvm的进程是dalivk虚拟机进程,每个android程序都运行在自己的进程里面,每个android程序系统都会给他分配一个单独的liunx uid(user id), 每个dvm都是linux里面的一个进程.所以说这两个进程是一个进程.

2016-05-30 21:59:26

阅读数 1223

评论数 0

Android 恢复出厂设置(系统时间不修改)

Android恢复出厂设置时,只会将/data和/cache分区进行清除,时间和其他分区不会清除, 时间由rtc硬件模块来进行维护的,时间更新后会将时间信息写入此硬件模块,在系统启动时,RTC硬件驱动会读取此值进行设置。

2016-05-30 21:54:43

阅读数 1436

评论数 0

TCP延迟确认

简介 TCP延迟确认是由一些实现采用的技术,努力提高网络性能的传输控制协议 。从本质上讲,几个应答响应可能结合在一起,成一个响应,减少协议开销 。然而,在某些情况下,该技术可以降低应用程序的性能。 方法和优势 RFC 1122中描述,主机可能延迟发送ACK响应到500毫秒。此外,收到一个...

2016-05-29 21:53:58

阅读数 1789

评论数 0

Sqlite3 锁升级机制

SQL使用锁逐步提升机制,上面的表格从上到下,对应锁的等级逐步提升,等级越高权限就越大。 未加锁: 未和数据库建立连接、已建立连接但是还没访问数据库、已用BEGIN开始了一个事务但未开始读写数据库,处于这些情形时是未加锁状态。 共享锁(又称:读锁) 连接需要从数据库中读取数据时,需要申请获得一个共...

2016-05-26 21:15:36

阅读数 999

评论数 0

Dialog中IME获取不到keyevent的原因

结论:使用默认的弹出dialog 的方法,IME是获取不到keyevent事件的,只有自己定义的dialog,也就是在dialog show之前调用setView,那么ime就可以获取到keyevent了。 为什么在dilaog show出来的时候,IME获取不到keyevent事件,是由于当在没...

2016-05-26 21:06:57

阅读数 575

评论数 0

Android PendingIntent

Pending : 待定 PendingIntent 和 Intent 的区别: 使用Intent启动的activity或者service,只要这个activityfinish或者service stop 那么这个intent也就销毁了,但是PendingIntent不是这样,他是在AMS里面有由...

2016-05-26 20:58:26

阅读数 408

评论数 0

FLAG_EXCLUDE_STOPPED_PACKAGES与FLAG_INCLUDE_STOPPED_PACKAGES

Android在4.0之后,如果已经安装的APP,在从未启动过时,通过广播是无法唤醒APP的,但是Service是没有,Service是依然可以唤醒的。 经过看源码, 在AMS发送广播的时候,添加了一个FLAG =FLAG_EXCLUDE_STOPPED_PACKAGES,所以忽略了从未启动过的A...

2016-05-25 22:22:35

阅读数 2663

评论数 2

AsyncTask出现RejectExcetionExcetion原因

在项目中使用AsyncTask过程中,出现过RejectExcetionExcetion这个异常,经过查看源码,发现在构造ThreadPoolExecutor时,ThreadPoolExecutor内部默认的RejectedExecutionHandler是AbortPolicy来实现的,Abor...

2016-05-25 22:06:05

阅读数 1023

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭