JAVA学习
aaajj
一起学习吧
展开
-
再见了【JNI global reference table overflow】
在一年前的blog中,我们提到了由于JNI中的对象出现内存泄漏导致的JNI global reference table overflow,会导致system_server进程被kill掉而发生系统重启。https://blog.csdn.net/aaajj/article/details/83141985系统重启,logpid: 1279, tid: 2518, name: B...原创 2019-11-30 20:48:45 · 1328 阅读 · 4 评论 -
【Android】System.setOut的重定向分析
在system_server启动的过程中,系统对System.out进行了重定向,以便于让其输出到log中,这个是怎么实现的呢?在ZygoteInit.java中有 /* * Pass the remaining arguments to SystemServer. */原创 2017-10-31 21:34:23 · 797 阅读 · 0 评论 -
WeakHashMap的remove方法导致对象回收的测试
定义一个类,在finalize方法中添加logpublic class Test{ int value; public Test() { // TODO Auto-generated constructor stub } public Test(int i) {原创 2017-08-11 20:35:51 · 741 阅读 · 0 评论 -
【Android】JNI调用简析
Android 7 中JNI的使用有了些新特性需要注意。我们来看看JNI调用流程Parcel.java中的nativeWriteInt方法是如何调用到native层的呢?frameworks/base$ vi ./core/java/android/os/Parcel.java public final void writeInt(原创 2017-06-24 17:04:35 · 422 阅读 · 0 评论 -
卸载apk时的另外一个AssetManager对象分析
在之前的分析中,重点一直是分析打开应用的时候创建的AssetManager,在查看log的时候,可以看到另外一个AssetManager对象,这个对象创建后有对其进行回收操作05-02 04:21:22.852: D/AssetManager(18460): =====CCAM decRefsLocked,05-02 04:21:22.852: D/AssetManager(1原创 2016-11-21 21:59:27 · 573 阅读 · 0 评论 -
AssetManager打开及关闭文件研究
AssetManager总结在Android系统中,打开一个应用的时候,AssetManager类会去加载应用对应的base.apk,这个过程如果处理有问题,就会导致内存泄露,现在来研究下AssetManager加载和关闭文件的处理方式。相关文件./frameworks/base/libs/androidfw/AssetManager.cppvi ./fra原创 2016-09-22 20:43:52 · 9042 阅读 · 0 评论 -
Linux源码环境下编译apk实践
模拟点击的ap实现中,需要在源码环境下对ap进行编译,android:sharedUserId="android.uid.system让ap具有INJEST_EVENT权限。之前在Linux源码中进行过编译测试,但是编译出来的apk打开就出错。这次继续研究,还是出错。01-01 12:01:22.285: E/AndroidRuntime(4807): FATALE原创 2016-05-20 20:07:51 · 6157 阅读 · 1 评论 -
合并Log的右键操作功能添加
在上一篇里,写了合并2个Log文件的java程序MergeFile, 可以在命令行里进行操作了,如果添加一个右键快捷操作,将会更加方便。在右键操作中添加快捷操作 cmd /K java MergeFile1 %1 %2 这样还是有些问题 直接选择2个文件,右键合并,这个处理不知道怎么弄考虑一种替代方案 右键打开cmd,然后输入2个文件名 java MergeFile Log1 Log2原创 2016-04-12 21:49:17 · 837 阅读 · 0 评论 -
合并文件的java实现
对2个有序的log文件进行合并,时间复杂度是线性的,设计:读文件,把2个文件里的内容分别按行数据保存到数组中,然后合并数组数据,最后再写到文件中在写这个程序的时候,处理合并数组的时候,灵光一现,考虑利用null进行标记,处理一个数组到达末尾的情况所以用到了while (aPos 这样的写法import java.io.BufferedReader;import java.原创 2016-03-31 22:11:00 · 2124 阅读 · 0 评论 -
Android学习笔记--写文件
练习了下写文件的方法需要注意的是文件路径,开始的时候没有写文件路径,出错,提示 read-only file system public void writeFile(String fileName, String write_str) { try{ /* FileOutputStream fout = new原创 2015-06-15 23:26:59 · 370 阅读 · 0 评论 -
Android学习之重载实现ListView的间隔背景色
列表是很常用的数据展现形式,列表的背景色采用不同的颜色间隔显示是比较好的设计,可以使人更清楚的查看数据,也使数据看上去更美观Android中,默认的ListView的背景色是黑色的,可以通过重载方法修改背景色 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate原创 2015-06-14 21:28:36 · 1967 阅读 · 0 评论 -
Android学习记录--ListView取id的疑问
今天修改了一个Listview程序,发现一个奇怪的问题listview对数据库中的数据进行展示,listview获取每行的id竟然就是数据库中该行数据的_ID,这个不知道是什么时候关联上去了留个疑问package com.dannyAndroid.stuinfo;import com.dannyAndroid.stuinfo.StudentInfo.StuInfoColumns原创 2015-06-14 17:53:57 · 634 阅读 · 0 评论 -
Android解析xml文件获取数据练习
前几天单词app中,已经可以显示单词了,对比有道词典的单词表,主要是有单词备注的功能,可以进行联想记忆,而且程序占用空间小,没有太多的通知信息。以前使用有道词典的单词保存了一些单词,有道里的单词可以导出到xml文件中格式如下 unveil <![CDATA[vt. 使公诸于众,揭开;揭幕 vi. 除去面纱;显露 unveil: 揭露 | 使公诸于众 | 揭开]]>原创 2015-06-21 16:45:59 · 1749 阅读 · 0 评论 -
java动态调用类
package tf;public class TestPack { public static void main(String [] args) { try { IAnimal cAnimal = new bird();原创 2010-01-21 18:56:00 · 1352 阅读 · 2 评论