• 启动优化方案的“第三板斧”终于齐了!
    最近我已经推送过两篇启动优化的文章,都是非常赞的文章,文中给出的方案都不是随便搜索就能找到的:都9102年了,Android 冷启动优化除了老三样还有哪些新招?这三篇文章我称之为启动优化三板斧,如果你都能吸收,启动优化你真的学到了不少东西!本文会通过以下几个方面来介绍应用启动的相关指标和优化,提供应用的启动速度。除非在应用启动时开了一个透明的Activity预先处理一些事再显示出主Activity,这样将比TotalTime小。一般是优化的是cpu执行时间。
  • 纯安卓公众号,现在真的很少了
    现在各大公司其实都很缺Android研发(中高级),不断的在招人。公号分享大前端、Java、Python相关技术,关注程序员的技术生活、职场晋升、逆袭成长,助力10万+程序员崛起。关注公众号即可获得5T的学习资料!▲长按图片识别二维码关注玉刚说这是任玉刚的公众号,刚哥是《Android开发艺术探索》作者,待过腾讯、百度和滴滴,他的公号分享 Android 技术和编程技巧,以及很多个人思考,推荐关注!在公众号持续创作,已完成290+篇原创输出,不仅写技术,也有产品思维,赚钱的逻辑,生活感悟。
  • 开始迁移到 Kotlin | Kotlin 迁移指南 (中篇)
    我们于近期开始连载了关于 Kotlin 迁移指南的系列文章,帮助开发者们顺利迁移并开始使用 Kotlin 构建 Android 应用。因为 Kotlin 的这些优势与强大的语言特性,现在在 Google Play 上排名前 1000 位的应用中,有 44% 已经在使用 Kotlin 进行开发。在 2019 年 OSCON 大会上,Kotlin 更是荣获 “年度突破项目” 奖。顺应迁移到 Kotlin 的行业趋势。关于 Kotlin 推广大使和如何说服管理层使用 Kotlin 的更详细内容,请参考我们之前发布的文章《如何在大型应用中添加 Kotlin》。Kotlin 学习资源我们为大家准备了丰富的 Kotlin 学习资源,以满足各个阶段开发者的需求。另外,如果您希望打下扎实的 Kotlin 语法基础的话,我们也建议您使用 Kotlin Koans 进行在线练习。
  • 当手机淘宝遇见折叠屏,让购物更随心
    华为 5G 新品发布会上,Mate X 正式亮相,淘宝也作为重点展示应用出现在发布会的 PPT 上,同时也成为折叠屏生态联盟应用矩阵的第一位。现场华为折叠屏上的淘宝多任务演示伴随手淘技术团队对华为折叠屏适配工作的展开。华为折叠屏上的淘宝已全面支持分屏多任务,以后商品比价、边逛边聊更加轻松便捷,为大家带来不一样的购物体验。要适配折叠屏,首先是要让应用支持动态改变尺寸,需要在 menifest 中的 Application 或对应的 Activity 下声明。手淘团队决定适配华为 mate X 的 Magic Window 方案。本次手淘适配 magic window ,使用自定义模式进行适配。
  • 纯安卓公众号,现在真的很少了
    现在各大公司其实都很缺Android研发(中高级),不断的在招人。公号分享大前端、Java、Python相关技术,关注程序员的技术生活、职场晋升、逆袭成长,助力10万+程序员崛起。关注公众号即可获得5T的学习资料!▲长按图片识别二维码关注玉刚说这是任玉刚的公众号,刚哥是《Android开发艺术探索》作者,待过腾讯、百度和滴滴,他的公号分享 Android 技术和编程技巧,以及很多个人思考,推荐关注!在公众号持续创作,已完成290+篇原创输出,不仅写技术,也有产品思维,赚钱的逻辑,生活感悟。
  • 给TextView文本加标签,小功能大秘密
    / 作者简介 /本篇文章来自王建州的投稿,分享了一个有意思的小功能,在TextView文本尾部加标签,相信会对大家有所帮助!/ 实现 /使用SpannableStringBuilder+ImageSpan实现使用过SpannableStringBuilder的同学都惊叹于它的强大,通过SpannableStringBuilder#setSpan()我们可以给TextView的文本设置独特的样式,比如加粗、斜体、字体大小、字体颜色、背景颜色、图片、删除线、下划线、点击事件等等。此时我们的实现思路可以串起来了,具体如下图:/ 代码实现 /具体分为四步:创建TextView对象,设置drawable背景,设置字体样式,设置间距,设置文本等将View生成Bitmap对象根据Bitmap对象生成ImageSpan对象将ImageSpan对象设置到SpannableStringBuilder的对应位置具体代码如下:注释写的很清楚,这里就不再赘述。
  • Android 修图(换证件照背景,污点修复)
    Python开发点击右侧关注,探讨技术话题!作者丨北斗星_And来源丨Android技术之家链接:https://juejin.im/post/5d75f2f26fb9a06b20058bd9背景前段时间的一个周末,一个女生让我帮她换一下他的证件照背景,我又没带电脑。我又不好意思拒接,怎么办呢?应用商店下载一个证件照换背景的APP,瞬间换完,我正准备保存时,跳出来一个支付框,如果你要保存,支付2元钱,出于面子,我只好掏了2块钱,保存了。
  • 最近,又有人在谈论Android的前景了!
    现在各大公司其实都很缺Android研发(中高级),不断的在招人,就拿很多一线互联网来说,别说来面试的人了,就简历都拿不到太多,需要花很多时间去找简历。例如建造者模式,Andoird中的Dialog创建就使用到了,还有像单例模式、适配器模式、观察者模式等等都是在Android中非常常用的设计模式,也是在面试中出现频率很高的。另外,虽然说Kotlin语言也得到Android官方的热推,但是Kotlin也是编译成了Java语言在运行的。而且Android apk的后台服务器程序大概率是Java语言构建,所以学习Java是一个必然。而移动系统中Android比例又是最大的。
  • 腾讯零反射全动态Android插件框架
    一名程序媛的高级 Android 面试总结作者:xiangzhihong原文:https://juejin.im/post/5d0ed3b46fb9a07ef63fe730简介最近几年,腾讯对于开源事业也是越来越支持,今天要说的就是在腾讯被广泛使用的Shadow框架,一个经过线上亿级用户量检验的反射全动态Android插件框架。首先,让我们来看一下官方对于Shadow的简介:Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级用户量检验。Shadow解决的问题非公开SDK接口访问众所周知,Android 9.0出现限制非公开SDK接口访问之后,可以说当时我们已知的所有插件框架实现都或多或少的出现了适配问题。
  • 使用 Kotlin 构建的常见问题解答 | Kotlin 迁移指南 (下篇)
    我们于近期开始连载了关于 Kotlin 迁移指南的系列文章,帮助开发者们顺利迁移并开始使用 Kotlin 构建 Android 应用。您可以参阅 Kotlin官方网站,详细了解 Kotlin 和 Android。Android Studio 3.0 及更高版本全面支持 Kotlin。例如,Kotlin 使用的部分第三方依赖项可能使用不同的开放源代码许可,但这些许可与 Apache 2 许可并不冲突。对于未使用任何 Kotlin 特有语义的 Kotlin 文件,Java 代码可以直接引用,无需添加任何注释。我们正努力使所有 Android API 文档都包含惯用 Kotlin 参考。如果您要寻找核心 Kotlin 语言参考,请查看Kotlin 标准库参考。当您在 Android Studio 中创建新项目时,只需选中 Include Kotlin support 复选框即可。
  • 我的 Android 路要怎么走~
    android 10年了,已经积累了太多的技术,知识点,技巧,思路,这些前人都会了,并且正在创造新的思路出来,对于广大的底层 coder 来说,仅仅是追赶就很难了,更别提去自己创造了,但是现实时我们尝尝学习了很多开源框架,落到实处就是仅仅会用而已,不说源码看没看过,甚至原理都不知道,不知道作者用什么技术实现的,这点就是广大 coder 的现状,没有成长。企业需要什么的移动 coder,中高端啊。
  • Android原生H5混合开发之JsBridge
    / 作者简介 /本篇文章来自看书的小蜗牛的投稿,分享了android开发中JsBridge内容的相关理解,相信会对大家有所帮助!再比如:有些人通过prompt方式实现H5通知Native,而prompt是一个可能产生问题的同步方法,一旦无法返回,整个js环境就会挂掉,导致所有H5页面都无法打开,下面简单说下两种实现,一是通过addJavascriptInterface,另一种就是通过prompt。classJsMethodApi{/***js调用native,可能需要回调*/@JavascriptInterfacepublicvoidcallNative{...}}webView.addJavascriptInterface;在前端的js代码中,是可以直接通过mJsMethodApi.callNative通知Native的,而且通过addJavascriptInterface注入的对象在H5的任何地方都可以调用,不存在注入时机跟注入失败的问题,在H5的head里调用都没问题。
  • GitHub推出原生iOS和Android客户端
    在 GitHub Universe 2019 大会举办的首日,GitHub 宣布推出移动版应用,支持 iOS 和 Android 两大主流移动平台。GitHub 移动版应用采用原生开发,界面方面没有照搬 PC 端网站的设计,而是针对移动端提供了专为触摸屏设计的新界面,还提供了通知功能,当用户被直接 @ 的时候,就能够收到悬浮通知,方便开发者随时随地查看代码、合并更改以及共享协作等。GitHub for mobile 作为原生应用,它采用了响应式设计,因此可以适配任意屏幕尺寸和分辨率,并且原生支持深色模式,具有不错的用户体验。开发者现在已可申请试用 iOS Beta 版;Android 版则开放了申请通道,申请通过后当 Android Beta 发布时,GitHub 会通过电子邮件通知您。
  • 9102年了,还不知道Android为什么卡?
    本文将用通俗的语言从底层介绍Android卡顿的历史原因和谷歌与之斗争的过程。造成卡顿的三大因素今年最新的Android版本已经是10了,其实在这两年关于Android手机卡顿的声音已经慢慢低了下去,取而代之的是流畅如iOS之类的声音。但是诸如超过iOS的话,还比较少,其实是因为Android有卡顿有三大历史原因。反观Android方面,光手机就有无数种机型,无数种CPU架构/型号,更别提什么平板,车载等其他设备了。接下来就是伟大的Android虚拟机进化之路!上文中所说的从字节码解释成机器码的过程在Java虚拟机中,在Android平台中虚拟机指的就是这个DVM。
  • 因一纸设计稿,我把竞品APP扒得裤衩不剩
    那句 短小但精悍 的口头禅脱口而出:直接把你借鉴的竞品APP拿来~接着设计师打开竞品APP「XX英语」并给我展示了一番:Yo~ 游戏通关类的学习APP耶,记得好久以前在一款英语APP上也看到这种页面,不过人家用Cocos2d做的,如果这个也是这样,就没法做了,先来辨别「页面是不是原生写的」。
  • Android 生成桌面快捷方式是这样做的
    Python开发点击右侧关注,探讨技术话题!作者丨笑慢来源丨Android开发中文站链接:https://juejin.im/post/5dc52767f265da4d556cfb1b关于生成桌面快捷方式,Android提供了原生的api方法。我们需要在AndroidManifest文件中添加一下权限:<uses-permissionandroid:name="com.android.launcher.permission.WRITE_SETTINGS"/><!=null){addShortCutCompact;}}});}4、需要在AndroidManifest中的TestActivity注册中加入 android:exported="true"标签,这个标签是用来表示是否能够被其他应用程序组件调用或跟它交互。
  • Kotlin 在Android开发中那些让人舒适的地方
    本文作者作者:Kn1ght链接:https://juejin.im/post/5db7a7fd51882543c9395254本文由作者授权发布。0前言目前公司的项目已经全面使用Kotlin,转换的过程的确不是怎么让人舒适,但是让人欣慰的是结局是让人满意的。Kotlin的确可以让代码简洁,安全并且高效。这里分享一下,在使用Kotlin中那些让人觉得舒适的地方。字符模板空安全延迟加载方便易读的循环强大易用的迭代器默认参数DataClass简短而强大的标准函数库通吃的when(结合密封类会让代码更舒适)扩展简单...
  • 入门级加固——3种加固方式学习记录
    本文为看雪论坛优秀文章看雪论坛作者ID:顺利毕业最近刚开始接触Andorid加固,是从姜维前辈在2015年的一些帖子开始学习的,同时也从个别恶意样本中学到了其他的加固手段。)本帖子涉及到3种加固:1、在java层为.apk文件进行加固:跟着姜维前辈学~2、在native层为.dex文件进行加固:逆向一款恶意软件,从中学习到它的加固方式。随后找到源程序的Application,通过反射建立并运行。
  • 如何监测Android应用卡顿?这篇就够了
    作者丨四爷来源丨Android开发之旅01卡顿介绍用户在使用我们应用的时候,很多问题是很难被及时的发现的比如内存占用高,耗费流量等,但是一旦发生卡顿就会被用户直观的感受到。01优化工具CPUProfile目前Android Studio以及自带了CPU Profiler工具,它可以以图形化的形式展示执行的时间、调用栈等信息。StrictModeAndroid2.3引入的一个工具类:严苛模式。StrictMode主要检测线程策略和虚拟机策略。01自动化检测卡顿方法CPU Profiler 和 Systrace 都是适合线下使用的,无法带到线上。那我们如何做到线上监测卡顿呢?
公众号
关注公众号订阅更多技术干货!