我一直在使用一些Android应用程序挂钩到另一个进程,扫描其分配的内存并进行编辑.显然,我用它来搞乱一些游戏.
然后,它让我想到,"他们是怎么做到的?" 我知道如何获取当前正在运行的应用程序列表,但挂钩到另一个进程,扫描和编辑进程的内存是..超出我的知识.
似乎我需要某种"root"权限来执行这样的代码,但我不介意.我只是想知道这些应用开发者是如何做到这一点来满足我的好奇心的.
所以..假设启用了root权限..
1)如何挂钩当前运行的不同应用程序?
2)如何扫描其内存区域?
3)如何编辑其内存区域?
inb4"你试过谷歌吗?"
我考虑过它并做了大量的谷歌搜索(1小时以上),但没有结果,因为"RAM"和"内存"这两个词只是给我一些东西,比如如何跟踪当前应用程序的内存分配等等.换句话说,不是我想要的.
所以,我终于转向在这里打开一个主题.
我是一名Android开发人员,正在尝试使用Xcode,到目前为止它一直很不愉快.我要做的是拥有一个包含三个子视图的自定义视图:
我想要它,以便内容标签的高度增长和缩小以包装它包含的文本(如Android的wrap_content
).然后,我希望自定义视图也可以增长和缩小以包装所有三个子视图.
但是,对于我的生活,我不能弄清楚这些自动布局/约束是如何工作的.
01)我如何使我的UILabel的高度增长/缩小以匹配其包含的文本?
02)如何使我的自定义视图的高度增大/缩小以匹配其包含的子视图?
override func layoutSubviews() {
super.layoutSubviews()
img_icon = UIImageView()
txt_title = UILabel()
txt_content = UILabel()
img_icon.backgroundColor = Palette.white
img_icon.image = icon
txt_title.text = title
txt_title.textAlignment = .Center
txt_title.font = UIFont(name: "Roboto-Bold", size:14)
txt_title.textColor = Palette.txt_heading1
txt_content.text = content
txt_content.textAlignment = .Center
txt_content.font = UIFont(name: "Roboto-Regular", size:12)
txt_content.textColor = Palette.txt_dark
txt_content.numberOfLines = 0
txt_content.preferredMaxLayoutWidth = self.frame.width
txt_content.lineBreakMode = NSLineBreakMode.ByWordWrapping
self.backgroundColor = Palette.white
addSubview(img_icon)
addSubview(txt_title)
addSubview(txt_content)
/*snip img_icon and txt_title constraints*/
let txt_content_x …
Run Code Online (Sandbox Code Playgroud) 这是我正在尝试做的事情的一个片段:
$file = fopen($path, "wb");
fwrite($file, $data);
fclose($file);
Run Code Online (Sandbox Code Playgroud)
够简单的。但是当我打开创建的文件时,我发现到处都在 0x0A 之前插入了 0x0D。我知道如果我在没有二进制模式的情况下打开文件,就会发生这种情况。
但我已经明确指定我想要二进制模式。也许我的大脑功能不正常或者其他什么,所以..有人有解决办法吗?
所以,我正在阅读这篇文章:http://www.ibm.com/developerworks/java/library/j-jtp09275/index.html ,其中说:"公共服务公告:对象池现在是一个严重的性能损失,除了最重量级的对象,即使这样,在不引入并发性瓶颈的情况下做到正确也很棘手,"并将其视为面值.本文讨论了分代GC,解除分配,线程局部分配和转义分析.
但是,我脑子里只有一个小小的声音问我,"但这对Android中的垃圾收集器实现是否正确?" 而且我不知道答案.我甚至不知道如何找到答案.
我记得当我为经常使用的小对象实现池化时,在我的Android应用程序中运行GC的频率较低.不确定这是否意味着更快的应用程序..此外,GC运行更频繁而没有池(根据logcat),所以我认为Android的GC实现失去了汇集..但这个假设几乎没有支持,因为我没有注意到任何显着的性能差异,无论是否合并.
所以..这里的任何人都知道,对于经常使用的小物件,池的效率是否比Android的GC更高效?