首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
哄哄君77823
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
60
文章 60
沸点 0
赞
60
返回
|
搜索文章
赞
文章( 60 )
沸点( 0 )
ART虚拟机 | 如何让GC同步回收native内存
GC用于Java堆内存的回收,这是人尽皆知的事实。然而现在有些Java类被设计成牵线木偶,Java对象只存储一些“线”,其真实的内存消耗全都放到了native内存中。譬如Bitmap。对它们而言,如何自动回收操纵的native内存成为一个亟须解决的问题。 想要自动回收,必须依赖…
Kotlin Jetpack 实战 | 09. 图解协程原理
协程(Coroutines),是 Kotlin 最神奇的特性,没有之一。 本文将简单介绍 Kotlin 的协程,然后会以图解 + 动画的形式解释 Kotlin 协程的原理。看完本文后,你会发现,原来协程也没有那么难。 1. 一边看文章,一边跑 Demo 2. 线程 &…
重学 Kotlin —— inline,包治百病的性能良药?
今天的主角是 inline ,这不是一个 Kotlin 特有的概念,大多数编程语言都支持内联。 内联函数 的语义很简单: 把函数体复制粘贴到函数调用处 。使用起来也毫无困难,用 inline关键字修饰函数即可。 今天,我们就一起来刨根挖底,寻找一下答案。 前面已经说过 inli…
Android Gradle 插件开发入门指南(二)
在指南一中我们实现了一个简单的Gradle通用插件,可以应用到任何以Gradle为构建系统的项目里。指南二里,我们要让Gradle和Android真正在一起,实现一个修改Apk输出名称的Gradle插件,使Apk的文件名中包含应用名称、VersionCode、VersionNa…
Android Gradle 插件开发入门指南(一)
Gradle 全称 Gradle Build Tool(构建工具),可以使用它构建任何你想构建的东西,Gradle 拥有丰富的 API 和成熟的插件和集成系统,我们能够很方便的介入构建过程和定制构建产物。扩展 Gradle 原有功能的常见手段就是自定义 Gradle Plugi…
深入探索Android卡顿优化(下)
在上篇文章中,笔者带领大家学习了卡顿优化分析方法与工具、自动化卡顿检测方案及优化这两块内容。如果对这块内容还不了解的同学建议先看看《深入探索Android卡顿优化(上)》。本篇,为深入探索Android卡顿优化的下篇。这篇文章包含的主要内容如下所示: 卡顿时间过长,一定会造成应…
Shadow解决Activity等组件生命周期的方法解析
每个Android插件框架要解决的首要问题都是Activity的生命周期问题。Activity代表了Service等其他需要注册的组件。不同是插件框架解决这个问题的前提也不完全一样。而我们的业务要求比较苛刻,再加上Android 9.0的非公开API限制,所以由这些前提要求: …
Shadow 插件化框架分析
Shadow 是最近腾讯开源的一款插件化框架。原理是使用宿主代理的方式实现组件的生命周期。 目前的插件化框架,大部分都是使用 hook 系统的方式来做的。使用代理的基本上没有成体系的框架,只是一些小 demo,Shadow 框架的开源,在系统 api 控制越来越严格的趋势下,算…
Android TV开发总结【焦点】
首先,TV端的开发和我们手机端开发最大的区别就在于TV端存在焦点的概念。 可想而知,手机端我们直接通过点击\长按某个区域处理响应事件处,但是TV端只能通过遥控器的上下左右来操控焦点,从而选中特定的区域处理相应事件。 在TV开发中没有以前我手机端的dispatchTouchEve…
flutter-dart 类的构造函数
通过创建一个和类名相同的函数声明一个构造函数(除此之外还有命名构造函数)。 构造函数通常用来创建一个类的实例。 如果你不声明构造函数,系统将提供一个默认的构造函数。默认的构造函数没有参数,而且将调用父类的无参数的构造函数。 子类不能从父类继承构造函数。声明无参数的构造函数的子类…
下一页
关注了
14
关注者
0
收藏集
1
关注标签
13
加入于
2019-05-25