刘望舒 刘望舒
4年前
Android应用程序进程启动过程(后篇)
本文首发于微信公众号「后厂技术官」前言在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环。<more1.Binder线程池启动过程我们首先来看RuntimeInit类的zygoteInit
一文详解:浅谈Android消息机制原理
Message产生用户滑动屏幕,产生了一系列input事件(一个Down事件,若干个Move事件,一个Up事件),这些事件被系统包装成了一系列Message(一个DownMessage,若干个MoveMessage,一个UpMessage)Message是用来传递信息的,上述Message中就包含了这些input事
Stella981 Stella981
3年前
Android Presentation双屏异显,副屏的操作
最近有一个双屏显示的需求,当时一脸蒙逼完全不知如何着手,不负众望找到解决办法,在Android4.2版本以后提供了Presentation类,可以轻松实现在两块屏幕上同时显示不同的内容。做一下笔记。Presentation是一个特殊的dialog,它的目的是显示内容到第二屏幕。在Presentation创建的时候关联一个目标设备,确定Presentati
Stella981 Stella981
3年前
Android 中如何计算 App 的启动时间?
利用python或者直接用adb命令怎么计算apk的启动时间呢?就是计算从点击图标到apk完全启动所花费的时间。比如,对游戏来说就是点击游戏图标到进入到登录界面的这段时间。已知的两种方法貌似可以获取,但是感觉结果不准确:一种是,adbshellamstartwpackagename/activity,这个可以得到两个值,ThisTime和To
Stella981 Stella981
3年前
Android开发测试助手——夜神模拟器
Androidstudio的模拟器运行速度很快,但无法连接WiFi,且AndroidStudio的avdmanage存在一些小问题,不方便使用。无意中发现了夜神模拟器,使用了几分钟,果断拥抱之。下载地址:https://www.yeshen.com/下载后安装启动!(https://img2018.cnblogs.com/blog/
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Stella981 Stella981
3年前
Android 中对Java对象深拷贝的方法
前言在项目中偶尔会遇到关于深拷贝的问题,比如点餐列表中的点一个饮料,它有多种规格(常温、冰),这样放到购物车列表中就可能出现2个相同id的饮料。如下图所示,其中我要对百事可乐进行拷贝一份,然后各修改它的属性值为常温/加冰。!(https://imgblog.csdnimg.cn/20200818150742575.jpg?
Stella981 Stella981
3年前
Android控件——ListView之Adapter提供数据(其二)
上一节中一些列表集合数据到手机屏幕时,通常采用ListView组件ArrayAdapter.虽然它能为我们提供展示数据列表的能力,但是展示的项却不能定制,如果我们的项是由2个TextView组成的,它就无能为力了。项目中大部分的不单单是展示简单的项模板,更多时候,我们可以对项模板进行一些定制,来满足我们的需求,假设项模板需要展示2个TextView
Stella981 Stella981
3年前
Android studio4.1更新后出现的问题
Androidstudio4.1更新后出现的问题如下问题1Task:app:kaptDebugKotlinFAILEDFAILURE:Buildfailedwithanexception.wrong:
Stella981 Stella981
3年前
Android开发之,LogCat无故不打印隐藏深坑
最近在项目中遇见一个问题,在日志打印的过程中,发现某些日志不打印出来,这里给大家看看!(https://oscimg.oschina.net/oscnet/up6da5f696705ba41e4be14dfcbd53696d471.JPEG)看到这里