首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
佛系编码
掘友等级
Android
进步是累积的过程
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
赞
113
文章 108
沸点 5
赞
113
返回
|
搜索文章
文章
热门
最新
Android View 绘制流程
View 的绘制是在 ViewRoot 的 performTraversals() 开始的,它历经 measure(测量), layout(布局), draw(绘制) 三个流程将 View 显示在屏幕
Kotlin 委托
把自己的事情托付给别人来办理。 常见的代理模式就是如此,被代理类接受代理类的委托来处理代理类的事情。 这里不谈设计模式,只记录一下 kotlin 中的 类委托和属性委托。 属性委托可以使用另一个类的属性来替换当前属性的 getter 和 setter 。 类委托可以使用组合代替…
多态性
多态是面向对象的三大特征之一,可见其重要程度。 这种多态形式是最常见的,也是目前面向对象编程中最常使用的。 子类型多态的实现是:在基类中定义一个方法,派生类继承自基类就自动获得了该方法,在继承的同时派生类可以根据自身情况重写此方法。 在实际运行中,虽然是同一个方法,但实际调用不…
Android 多级联动控件实现思路讨论
最近有一个需求是选择多级联动数据,数据级别不固定,可能是五级,可能是两级,具体看用户等级。 这个控件在三级以内的的联动都没有问题,但是最多只能到三级。 DynamicWheelPickerView 也是动态生成,但可以一级一级的加载数据并追加滚轮。 在使用时,根据自身情况让你的…
inline ,noinline 和 crossinline
inline 在编译时,会将此修饰符修饰的函数复制到调用处(称为内联),避免创建 Function 对象,以减少创建对象的内存开销。 crossinline 需要配合 inline 使用,告诉编译器不能使用 return,否则就跳出调用处函数,但是可以使用 return@lab…
Android Gradle 常用配置
Android Gradle 提供了大量的 DSL 给我们,以方便我们根据自己的需求定义相应的配置。 在这里记录一些常用的配置,以方便使用的时候查询。老话说 好记性不如烂笔头。 关于 Android 项目的配置几乎全部在 android{} 里了,我这里记录的也全是 andro…
Proguard 常用规则
为了决定哪些代码要被保留哪些代码要出丢弃和混淆,必须指定入口点。这些入口点通常是 main方法,activity,service等。 在压缩阶段,Proguard从这些入口点开始递归确定哪些类或类成员要被使用,其余的都会被丢弃。 在优化阶段,ProGuard 会进一步优化代码。…
Android Gradle 插件
从 Gradle 角度看,Android 插件是由 Google 的 Android 团队开发的一个第三方插件。 从 Android 的角度看,Android 插件是基于 Gradle 构建的,是和 Android studio 完美搭配的新一代构建系统。 自定义,配置和扩展编…
Android 上预览 PDF 文件
我是选择了 pdf.js 这个库,使用 WebView 配合 H5 页面,可以做到随意的自定义,并且体积很小,放在服务器的话就更小了。 刚开始使用时,直接使用提供的 API 创建 canvas ,每一页创建一个 canvas 然后排列下来,因为有其他的内容要显示。 开发测试的时…
The application could not be installed: INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME
Installation did not succeed. 出现场景: 在变体里增加了 applicatinId 后缀 后安装时出现的。 因为需求更改,需要增加变体,更改 applicationId ,所以在变体里使用了 applicationIdSuffix 来增加个后缀。 …
下一页
个人成就
文章被点赞
114
文章被阅读
45,667
掘力值
1,149
关注了
47
关注者
25
收藏集
6
关注标签
73
加入于
2016-09-28