相关分享
简单分析 App 进程 Crash 机制
工作中遇到后台Service挂掉后(弹出停止运行),很久没有重启,分析log发现进程抛出FATAL EXCEPTION后并没有被杀,很久后才被杀掉重启,迷惑,遂看看具体的App挂掉流程是什么样的。
Android 一次完美的跨进程服务共享实践
最近需要做这样一个事情,一个服务来完成多款App的录音功能,大致有如下逻辑
服务以lib的形式集成到各个端
当主App存在时,所有其他App都使用主App的录音服务
当主App不存在时,其他App使用自带录音服务
有优先级,优先级高的App有绝对的录音权限,不管其他App是否在录音都要暂停,优先处理高优先级的App请求
支持AudioRecord、MediaRecorder两种录音方案
进程物理内存远大于Xmx的问题分析
最近经常被问到一个问题,”为什么我们系统进程占用的物理内存(Res/Rss)会远远大于设置的Xmx值”,比如Xmx设置1.7G,但是top看到的Res的值却达到了3.0G,随着进程的运行,Res的值还在递增,直到达到某个值,被OS当做bad process直接被kill掉了。
Android版微信后台保活实战分享(进程保活篇)
哪些部分需要“保活”?按照我们的理解包含两部分:
1、网络连接保活:
如何保证消息接收实时性。
2、进程保活:
尽量保证应用的进程不被Android系统回收。这是本文要讨论的内容。
JVM 源码分析之一个 Java 进程究竟能创建多少线程
虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。
【Android】线程/进程绑定指定CPU核
此文使用的方式是先编译完so文件,然后将so文件放入项目中使用的。不是直接在项目中放入c代码运行。将c代码直接放入项目时我的项目会在c代码的位置报错,所以采用了先编译成so文件的方式,如果你的项目不报错,可以参考上面第三个文档,将代码直接放入项目中。
人件 – 是什么在阻塞智能与智能化进程
《人件》作者汤姆·迪马可、蒂姆·李斯特在他们的书中,曾推崇人本管理思想,指出知识型企业的核心是人,而不是技术。而今天我希望从智能系统设计的角度,讨论一些“人件”相关的设计陷阱。
Android 多进程通信之几个基本问题
Android多进程之Binder的使用
Android多进程之手动编写Binder类
Android多进程之Binder解绑监听的问题
Android多进程之Binder的意外死亡及权限校验
Android进程启动与Activity显示
这段时间,leader安排的任务进行Android插件化,热修复相关的调研,对于插件化和热修复涉及到的核心技术点,在于对于类装载,资源装载的认识还有对于启动流程的熟悉,带着该任务,于是有了接下来,一系列的文章,从进程启动,Activity显示,Dex装载,资源装载,最后主流几个插件化,热修复源码实现的分析。本篇先从进程的启动,到一个Activity的显示流程出发分析。
如何在无响应的 Linux 系统中杀掉内存消耗最大的进程
有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟。我不能移动我的鼠标,也不能杀掉一个进程或关闭任何开启的标签页。
在这种情况下,我别无选择,只能强制重启系统。当然我也用了 OneTab (LCTT 译注:OneTab 是一个 Chrome 的 Extension,可以将标签页转化成一个列表保存。)和 Greate Suspender (LCTT 译注:Great Suspender 是一个 Chrome 的 Extension, 可以自动冻结标签页)这样浏览器拓展,但它们在这里也起不到太大的作用。 我经常耗尽我的内存。
而这就是 Early OOM 起作用的时候了。在情况严重时,它会杀掉一个未响应系统中的内存消耗最大的进程。
