比如这类调用native(OC)代码的方式,如果没有对应的实现,则会转换失败,应该加上编译选项,不让它在安卓环境下编译.
[DllImport("__Internal")]
private extern static void Login();
比如这类调用native(OC)代码的方式,如果没有对应的实现,则会转换失败,应该加上编译选项,不让它在安卓环境下编译.
[DllImport("__Internal")]
private extern static void Login();
方便调试app内存,我们会用adb(在安卓SDK目录里的platform-tools/adb.exe)调试打印信息,常用命令记录如下
指定app内存信息打印 dumpsys meminfo com.xxx.xxx
系统内存信息 cat /proc/meminfo
cat /proc/cpuinfo
今天遇到一个奇怪的现象,使用Path.Combine合并两个路径,结果返回的是第二个参数的路径,上网搜索过了下,才明白此函数的使用方法,记录如下
System.IO.Path.Combine 简单来说,就是合并两个路径字符串。
比如如下调用,Path.Combine(@"C:\11","aa.txt")
返回的字符串路径如后: C:\11\aa.txt
这个方法的声明如下:
public static string Combine ( string path1, string path2 )
我们在合并一些目录的时候,它的两个参数有些特殊限制,下面我们就来依次看这些特殊限制
如果其中一个参数为 null ,会抛出异常: An unhandled exception of type 'System.ArgumentNullException' occurred in mscorlib.dll Additional information: Value cannot be null.
如果指定的路径之一是零长度字符串,则该方法返回其他路径。当然,两个都是零长度字符串,则返回的就是 string.Empty ;
如果 path2 包含绝对路径,则该方法返回 path2。 比如:string tmp = Path.Combine(@"C:\11", @"D:\aa.txt"); tmp 就等于 @"D:\aa.txt"
解析assetBundle时会遇到这个无法解压的错误
Failed to decompress data for the AssetBundle
大概代码如下
using(WWW www = new WWW(assetPath+"/"+bundleName))
{
yield return www;
if(!string.IsNullOrEmpty(www.error))
{
yield break;
}
var asset = www.assetBundle
yield return null;
}
搜了下结果很多人和我一样使用的FileZilla上传的assetBundle。解决方法是设置FileZilla传输模式为二进制类型传输。